ホームページ  >  記事  >  バックエンド開発  >  PHP 多次元配列のソート問題 2 次元配列内の項目に基づくソート_PHP チュートリアル

PHP 多次元配列のソート問題 2 次元配列内の項目に基づくソート_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:22:57927ブラウズ

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

tru​​e

http://www.bkjia.com/PHPjc/324592.html

技術記事
PHP 組み込み関数 array_multisort では、各配列が同じサイズである必要があります。$areas は、人数と時間を含むエリアの 2 次元配列です。次に、コードをコピーします。コードは次のとおりです...

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