Autour de Laravel

Trier un tableau

Avatar de VincentPIEPLU
VincentPIEPLU

Bonjour,

Je cherche à trier un tableau, en vain ... J'ai besoin de trier par les values tout en gardant ma structure.

Merci d'avance

array:13 [▼
  2 => array:2 [▼
    "filter" => App\Models\Filter {#3431 :arrow_forward:}
    "values" => array:6 [▼
      0 => array:2 [▼
        "value" => "Flacon"
        "count" => 0
      ]
      1 => array:2 [▼
        "value" => "Pot"
        "count" => 0
      ]
      2 => array:2 [▼
        "value" => "Bidon"
        "count" => 3
      ]
      3 => array:2 [▼
        "value" => "Fût"
        "count" => 3
      ]
      4 => array:2 [▼
        "value" => "Bonbonne"
        "count" => 0
      ]
      5 => array:2 [▼
        "value" => "Jerrycan"
        "count" => 0
      ]
    ]
  ]
Avatar de VincentPIEPLU
VincentPIEPLU

Si ça peut servir à quelqu'un, voici la solution :

foreach ($listFilters as $key => $datum) {
    usort($datum['values'], static function ($a, $b) {
        return strcmp($a['value'], $b['value']);
    });

    $listFilters[$key]['values'] = $datum['values'];
}
Avatar de bdfi
bdfi

Bonsoir,

Et mettre le tout dans une collection Laravel et utiliser sortBy('value') ?

Vous ne pouvez pas répondre à ce sujet.