ホームページ >バックエンド開発 >PHPチュートリアル >alwayscomebacktoyourlove PHP 多次元配列ソート usort、uasort
数値インデックス配列:
bool usort( array &$array, callback $cmp_function )
usort 関数は、指定された配列 (パラメーター 1) を指定された方法 (パラメーター 2) でソートします。
多次元配列をソートしたい場合、多次元配列の各要素は配列型ですが、2 つの配列のサイズを比較するにはどうすればよいでしょうか?これはユーザーがカスタマイズする必要があります (各配列の最初の要素に基づいて比較するかどうか)。
コードをコピーします コードは次のとおりです:
//多次元配列を定義します
$a = array(
array("sky", "blue"),
array ("apple", " red"),
array("tree", "green"));
//カスタマイズされた配列比較関数。配列の 2 番目の要素に基づいて比較します。
function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1;
else if ($a[1] == $b[1])
return 0;
else
return 1;
//ソート
usort($a, 'my_compare');
foreach($a as $elem) {
echo "$elem[0] : $elem[1]
";
}
?>
結果は次のとおりです:
コードをコピーします コードは次のとおりです:
sky : bluetree :緑
リンゴ : 赤
連想配列:
コードをコピー コードは次のとおりです:
$a = array(