ホームページ  >  記事  >  バックエンド開発  >  配列 PHP の多次元配列のソート問題 2 次元配列の項目に従ってソートする

配列 PHP の多次元配列のソート問題 2 次元配列の項目に従ってソートする

WBOY
WBOYオリジナル
2016-07-29 08:47:09892ブラウズ

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,'年齢' => 4)、'a' => array('id' => 8,'name' => 10,'age' => 5)、'c' => array('id' = > 1,'name' => 2,'age' =>

は 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


上記は、配列の内容を含む 2 次元配列内の項目に応じたソートの問題を PHP で紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。