連想配列を数値とキーで降順に並べ替えるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-12 06:22:01
オリジナル
722 人が閲覧しました

How to Sort an Associative Array by Numeric Values and Keys in Descending Order?

数値とキーによる連想配列の並べ替え

文字列キーと数値を含む連想配列が与えられた場合、配列を次の基準で並べ替えるとします。数値の降順、タグ名のアルファベット順。たとえば、入力配列:

$arrTags = [
    'mango' => 2, 
    'orange' => 4, 
    'apple' => 2,
    'banana' => 3
];
ログイン後にコピー

は次のように出力される必要があります:

orange (4)  
banana (3) 
apple (2) 
mango (2)
ログイン後にコピー

解決策:

1 つの可能なアプローチは、次のように使用することです。 usort()。ただし、最初に数値で並べ替え、次にキーで並べ替えるカスタム比較関数が必要です。これは、2 つの手順で並べ替えることで実行できます。まず、数値の降順で並べ替え、次にキー値の昇順で並べ替えます。

コードを簡略化するために、array_values() 関数と array_keys() 関数を使用して、値とキーを別々の配列に抽出します。次に、array_multisort() を使用して、複数の配列に対して複数のソートを実行します。次のコードは、目的の出力を生成します:

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);
ログイン後にコピー

以上が連想配列を数値とキーで降順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート