PHP 내장 함수 array_multisort는 각 배열의 크기가 동일해야 합니다.
$areas는 사람 수와 시간을 포함하는 2차원 배열입니다. 이제 이 두 숫자를 내림차순으로 정렬해야 합니다. order
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); }
예를 들어 대부분 배열이 있습니다:
$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) );
2차원 배열에서 연령 항목을 정렬해야 합니다.
PHP 내장 함수 array_multisort()를 사용해야 하며, 매뉴얼을 읽어보세요.
사용자 정의 기능:
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
더 많은 PHP 다차원 배열 정렬 문제에 대해서는 PHP 중국어 웹사이트에서 항목별로 정렬되는 관련 기사를 참고하세요. 2차원 배열로!