Maison > Article > développement back-end > Problème de tri de tableau multidimensionnel PHP Trier selon un élément dans un tableau bidimensionnel
La fonction intégrée PHP array_multisort nécessite que chaque tableau ait la même taille
$areas est un tableau bidimensionnel de régions, comprenant le nombre de personnes et d'heures. Nous devons maintenant trier ces deux nombres par ordre décroissant.
foreach($areaArray as &$areas) { $times = $numbers = array(); foreach($areas as $province => $v) { $times[$province] = $v['times']; $numbers[$province] = $v['numbers']; } array_multisort($times, SORT_DESC, $numbers, SORT_DESC, $areas); }
Par exemple, il existe un tableau principalement :
$arr = array( ‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7), ‘b' => array(‘id' => 2,'name' => 3,'age' => 4), ‘a' => array(‘id' => 8,'name' => 10,'age' => 5), ‘c' => array(‘id' => 1,'name' => 2,'age' => 2) );
Vous devez trier les éléments d'âge dans le tableau bidimensionnel.
Vous devez utiliser la fonction intégrée array_multisort() de PHP, vous pouvez lire le manuel.
Fonction personnalisée :
function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ if(is_array($multi_array)){ foreach ($multi_array as $row_array){ if(is_array($row_array)){ $key_array[] = $row_array[$sort_key]; }else{ return false; } } }else{ return false; } array_multisort($key_array,$sort,$multi_array); return $multi_array; } //处理 echo “<pre/>”; print_r(multi_array_sort($arr,'age'));exit; //输出 Array ( [c] => Array ( [id] => 1 [name] => 2 [age] => 2 ) [b] => Array ( [id] => 2 [name] => 3 [age] => 4 ) [a] => Array ( [id] => 8 [name] => 10 [age] => 5 ) [d] => Array ( [id] => 5 [name] => 1 [age] => 7 ) ) written by 大宇 0
Pour plus de problèmes de tri de tableaux multidimensionnels PHP, veuillez prêter attention au site Web PHP chinois pour des articles connexes sur le tri en fonction d'un élément. dans un tableau à deux dimensions !