Tri d'un tableau PHP multidimensionnel par valeur de tableau interne
Pour trier un tableau PHP multidimensionnel en fonction d'une valeur spécifique dans le tableau interne, vous pouvez utiliser une fonction de tri personnalisée.
Fonction de tri personnalisée :
<code class="php">function array_sort($array, $on, $order = SORT_ASC) { $new_array = []; $sortable_array = []; if (count($array) > 0) { foreach ($array as $key => $value) { if (is_array($value)) { foreach ($value as $key2 => $value2) { if ($key2 == $on) { $sortable_array[$key] = $value2; } } } else { $sortable_array[$key] = $value; } } switch ($order) { case SORT_ASC: asort($sortable_array); break; case SORT_DESC: arsort($sortable_array); break; } foreach ($sortable_array as $key => $value) { $new_array[$key] = $array[$key]; } } return $new_array; }</code>
Utilisation :
<code class="php">$list = array( array('type' => 'suite', 'name' => 'A-Name'), array('type' => 'suite', 'name' => 'C-Name'), array('type' => 'suite', 'name' => 'B-Name') ); $list = array_sort($list, 'name', SORT_ASC); print_r($list);</code>
Sortie :
<code class="php">array(3) { [0]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "A-Name" } [2]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "B-Name" } [1]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "C-Name" } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!