PHPサンプル
UPDATE:2017年03月29日
値によるソートをしたい(ユーザ定義順)
配列ソート 値によるソート ユーザ定義順 uasort()
論理値 = uasort(配列, コールバック関数名);
ユーザー定義の比較関数に従って、配列の各要素を並び替えます。キー と 値 の関係は維持されます。成功した場合に TRUE を、失敗した場合に FALSE を返します。
POINT
- 比較関数は、最初の引数と2番目の引数の比較結果を返えす。最初の引数のほうが2番目の引数より大きい場合は正の数を、2番目の引数と等しい場合はゼロを、そして2番目の引数より小さい場合は負の数を返す必要がある
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!-- サンプルコード --> <h3>配列ソート 値によるソート ユーザ定義順</h3> <?php //ユーザー定義関数 function cmp($a, $b){ if($a == $b){ return 0; } return($a < $b) ? -1 : 1; } //配列 $ary = array('a' => 3, 'b' => 2, 'c' => 5, 'd' => 6, 'e' => 1, 'f' => 4, 'g' => -1); //ソート前 foreach($ary as $key => $value){ print "キー(\$key) : {$key} 値(\$value) : {$value}<br>\n"; } //ソート後 echo 'uasort後↓<br>'; uasort($ary, "cmp"); foreach($ary as $key => $value){ print "キー(\$key) : {$key} 値(\$value) : {$value}<br>\n"; } ?> |
実行結果
配列ソート 値によるソート ユーザ定義順
キー($key) : a 値($value) : 3
キー($key) : b 値($value) : 2
キー($key) : c 値($value) : 5
キー($key) : d 値($value) : 6
キー($key) : e 値($value) : 1
キー($key) : f 値($value) : 4
キー($key) : g 値($value) : -1
uasort後↓
キー($key) : g 値($value) : -1
キー($key) : e 値($value) : 1
キー($key) : b 値($value) : 2
キー($key) : a 値($value) : 3
キー($key) : f 値($value) : 4
キー($key) : c 値($value) : 5
キー($key) : d 値($value) : 6
キー($key) : a 値($value) : 3
キー($key) : b 値($value) : 2
キー($key) : c 値($value) : 5
キー($key) : d 値($value) : 6
キー($key) : e 値($value) : 1
キー($key) : f 値($value) : 4
キー($key) : g 値($value) : -1
uasort後↓
キー($key) : g 値($value) : -1
キー($key) : e 値($value) : 1
キー($key) : b 値($value) : 2
キー($key) : a 値($value) : 3
キー($key) : f 値($value) : 4
キー($key) : c 値($value) : 5
キー($key) : d 値($value) : 6
タグ(=記事関連ワード)
日付
投稿日:2012年3月22日
最終更新日:2017年03月29日
最終更新日:2017年03月29日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsample-array-uasort/trackback/