PHPにおける配列のソートには、1次元配列のソートと多次元配列のソートがあります。PHPの配列ソート関数とカスタム関数を使ってデータのソートを実現する具体的な方法を詳しく紹介します。
単一配列ソート
昇順ソート機能
bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] )
コードは次のとおりです | コードをコピー |
$fruits = array("レモン", "オレンジ", "バナナ", "リンゴ"); |
-rソート降順--
コードは次のとおりです | コードをコピー |
$fruits = 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) ); |
PHP の組み込み関数 array_multisort() を使用する必要があります
array_multisort() には列の配列が必要なので、次のコードを使用して列を取得し、並べ替えます。
コードをコピー | |
foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } |
コードは次のとおりです | コードをコピー |
関数 multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC) { If(is_array($multi_array)) { foreach ($multi_array を $row_array として) { if(is_array($row_array)) { $key_array[] = $row_array[$sort_key]; } その他 { false を返す; } } } それ以外 { false を返す; } Array_multisort($key_array,$sort,$multi_array); $multi_array を返します; } |
//処理
コードは次のとおりです | コードをコピー |
print_r(multi_array_sort($arr,'age')); //出力 配列 ( [c] => 配列 ( [ID] = & gt; [name] => [年齢] => ) [b] => 配列 ( [id] => 2 [name] => [年齢] => ) [a] => 配列 ( [id] =>8 [name] =>10 [年齢] => ) [d] => 配列 ( [ID] = & gt; [name] => [age] =>7 ) ) 実際、並べ替えの際に使用できるメソッドは多数あります。たとえば、arsort()、asort()、ksort()、krsort()、natsort()、natcasesort()、PHP の配列配列に付属する rsort() などです。 、usort()、array_multisort()、uksort()。 |
www.bkjia.com
http://www.bkjia.com/PHPjc/445296.html