PHPでウェブの世界と繋がろう!
menu
ホーム > PHPサンプル > 配列系 > 値によるソートをしたい(ユーザ定義順)

値によるソートをしたい(ユーザ定義順)

Pocket

サンプルコード sample code
配列ソート 値によるソート ユーザ定義順 uasort()
論理値 = uasort(配列, コールバック関数名);
ユーザー定義の比較関数に従って、配列の各要素を並び替えます。キー と 値 の関係は維持されます。成功した場合に TRUE を、失敗した場合に FALSE を返します。
POINT

  • 比較関数は、最初の引数と2番目の引数の比較結果を返えす。最初の引数のほうが2番目の引数より大きい場合は正の数を、2番目の引数と等しい場合はゼロを、そして2番目の引数より小さい場合は負の数を返す必要がある

サンプルコード

– サンプル Click Here ! –

<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

– サンプル Click Here ! –


タグ(=記事関連ワード)

タグ: , ,

日付

投稿日:2012年3月22日
最終更新日:2014年02月20日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsample-array-uasort/trackback/