この記事の例では、PHP で多次元配列のソートを簡単に実装する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです。
以前関数を実行していたときは、データを 2 次元配列に入れて並べ替えてから、オンラインで解決策を見つける必要がありました
。このとき、array_multisort 関数が使用されます。array_multisort() 関数は、複数の配列または多次元配列を並べ替えます
まず例を見てみましょう
<?php $data=array( 0=>array('one'=>34,'two'=>'d'), 1=>array('one'=>45,'two'=>'e'), 2=>array('one'=>47,'two'=>'h'), 3=>array('one'=>12,'two'=>'c'), 4=>array('one'=>15,'two'=>'w'), 5=>array('one'=>85,'two'=>'r'), ); foreach($data as $val){ $key_arrays[]=$val['one']; } array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data); var_dump($data);
出力結果: 次のように、キー値 1 で並べ替えます:
array 0 => array 'one' => int 12 'two' => string 'c' (length=1) 1 => array 'one' => int 15 'two' => string 'w' (length=1) 2 => array 'one' => int 34 'two' => string 'd' (length=1) 3 => array 'one' => int 45 'two' => string 'e' (length=1) 4 => array 'one' => int 47 'two' => string 'h' (length=1) 5 => array 'one' => int 85 'two' => string 'r' (length=1)
php 多次元配列のソート
以下は使いやすいように関数にカプセル化されています
function my_array_multisort($data,$sort_order_field,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC){ foreach($data as $val){ $key_arrays[]=$val[$sort_order_field]; } array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data); rturn $data; }
この記事が PHP プログラミングの皆様のお役に立てれば幸いです。
PHP で多次元配列のソートを簡単に実装する方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。