ホームページ >バックエンド開発 >PHPチュートリアル >キー名を保持しながらPHPで多次元配列をソートするにはどうすればよいですか?

キー名を保持しながらPHPで多次元配列をソートするにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-05-03 21:51:01674ブラウズ

キー名を保持したまま多次元配列をソートします。 1. uksort() を使用してキー値に従ってソートし、キー値の相対的な順序を示す 1、-1、または 0 を返す比較関数を提供します。 2. krsort() を使用して、配列パラメーターを受け取り、キー値を高い順から低い順に並べ替えます。

如何在 PHP 中对多维数组进行排序,同时保留键名?

キー名を保持しながら PHP で多次元配列をソートする方法

多次元配列のソートが必要になる場合があります。キー名を維持しながら。この目的のために、PHP は uksort() 関数と krsort() 関数を提供します。

uksort

uksort() この関数は、配列キーの値に基づいて配列を並べ替えます。これは、並べ替える配列を含む配列と比較関数の 2 つのパラメーターを受け入れます。比較関数は、次のいずれかの値を返す必要があります。

  • 1 (配列の最初の要素が 2 番目の要素の前に来る必要がある場合)
  • -1 (配列の最初の要素が 2 番目の要素の前に来る必要がある場合)配列の最初の要素が 2 番目の要素と等しい場合、2 番目の要素の後は
  • 0 になります。
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

uksort($cars, function($a, $b) {
    return strcmp($a, $b);
});

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>

出力:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan

krsort

krsort() この関数は配列を並べ替え、キー値を高い順から低い順に並べ替えます。ソートする配列という 1 つのパラメータを受け入れます。

<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

krsort($cars);

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>

出力:

Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany

以上がキー名を保持しながらPHPで多次元配列をソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。