PHP 組み込み関数 array_multisort では、各配列が同じサイズである必要があります。$areas は、人数と時間を含むエリアの 2 次元配列です。次に、2 つの数値を降順に並べ替える必要があります。コードは次のとおりです:
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 , '名前' => 1, '年齢' => 7) ,
'b' => 2,'名前' => 3,'年齢' => )、'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{ } }
}else{
return false;
array_multisort($key_array,$sort,$multi_array);
return $multi_array;
//プロセス
echo “
”
print_r(multi_array_sort($arr,'age')); exit;
//出力
Array
(
[c] => Array
(
[id] => 1
[name] => 2
[age] => 2
)
[b] => 配列
(
[id] => 2
[名前] => 3
[年齢] => 4
)
[a] => 配列
(
[id] => 8
[名前] => 10
[年齢] => 5
)
[d] => 配列
(
[名前] => 1
[年齢] => ; 7
)
)
大宇作
0
http://www.bkjia.com/PHPjc/324592.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324592.html
技術記事
PHP 組み込み関数 array_multisort では、各配列が同じサイズである必要があります。$areas は、人数と時間を含むエリアの 2 次元配列です。次に、コードをコピーします。コードは次のとおりです...