【PHP】配列の要素を値によって昇順、降順に並べ替える関数「asort()」「arsort()」
以前PHPで、配列の要素を値によって並べ替える「sort()」と「rsort()」を学びました。しかしこの二つの関数は並べ替えた際にインデックスキーを保持せず振り直すという特徴があり、連想配列ではしようできませんでした(詳しくはこちらの記事で)。
今回は連想配列で使用できる並べ替え関数、「asort()」と「arsort()」を学びたいと思います。
インデックスキーを保持したまま要素を昇順に並べ替える関数「asort」
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php //asort(昇順に並べ替えたい配列[,ソートフラグ]); $associative = array("田中" => 3,"鈴木" => 2,"高木" => 5,"田原" => 1,"坂内" => 4,"塚本" => 2); $array = array("i",3,"い","あ","う",2,1,"a","u"); asort($associative); asort($array); print_r($associative); print_r($array); ?> //実行結果 Array ( [田原] => 1 [鈴木] => 2 [塚本] => 2 [田中] => 3 [坂内] => 4 [高木] => 5 ) //$associative Array ( [7] => a [0] => i [8] => u [3] => あ [2] => い [4] => う [6] => 1 [5] => 2 [1] => 3 ) //$array |
インデックスキーを保持したまま要素を降順に並べ替える関数「arsort」
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php //arsort(降順に並べ替えたい配列[,ソートフラグ]); $associative = array("田中" => 3,"鈴木" => 2,"高木" => 5,"田原" => 1,"坂内" => 4,"塚本" => 2); $array = array("i",3,"い","あ","う",2,1,"a","u"); arsort($associative); arsort($array); print_r($associative); print_r($array); ?> //実行結果 Array ( [高木] => 5 [坂内] => 4 [田中] => 3 [鈴木] => 2 [塚本] => 2 [田原] => 1 ) //$associative Array ( [1] => 3 [5] => 2 [6] => 1 [4] => う [2] => い [3] => あ [8] => u [0] => i [7] => a ) //$array |
まとめ
- 「asort()」はインデックスキーを保持したまま、配列の要素を昇順で並べ替える関数
- 「arsort()」はインデックスキーを保持したまま、配列の要素を降順で並べ替える関数
- 「asort()」、「arsort()」は連想配列の並べ替えに使用できる