php note



 

PHP Note(トップページ) > 02.基本的な関数 > 05.配列処理 > 配列を値でソートする関数(asort , arsort)







[Note] 配列を値でソートする関数(asort , arsort)

配列をキー(インデックス)ではなく、値で並べ替えたい場合が多々あります。PHPではその為の関数があり、昇順に並べ替える場合は「asort」関数、降順に並べ替える場合は「arsort」関数を用います。
まず、「asort」関数について見ていきましょう。

<?php

$data = array(”a” => “lemon”, “b” => “orange”, “c” => “banana”, “d” => “apple”);
asort($data);
print_r($data);

?>

上記の実行結果は以下のようになります。

Array([d]=>apple [c]=>banana [a]=>lemon [b]=>orange)

a,b,c,d のインデックス(キー)ではなく、値のapple,banana,・・・が昇順に変わっているのがわかります。
配列要素の値を数値の昇順に並べ替えるには、以下のようにSORT_NUMERICを指定します。

<?php

$age_data= (”山田”=>35,”鈴木”=>23,”佐藤”=>28);
asort($age_data,SORT_NUMERIC);
print_r($age_data);

?>

実行結果は、以下のようになります。

Array([鈴木]=>23 [佐藤]=>28 [山田]=>35)

降順に並べ替えるには、以下の「arsort」関数を用います。

<?php

$r_data = array(”a” => “lemon”, “b” => “orange”, “c” => “banana”, “d” => “apple”);
arsort($r_data);
print_r($data);

?>

実行結果は以下のようになります。

Array([b]=>orange [a]=>lemon [c]=>banana [d]=>apple)

また、「arsort」関数においても「asort」関数と同様にSORT_NUMERICを指定して数値としてソートすることが可能です。







[ カテゴリ一覧 ]

 |  01.基本構文  |  02.基本的な関数  |