ホームページ >バックエンド開発 >PHPチュートリアル >連想配列を数値とキーのアルファベット順に並べ替えるにはどうすればよいですか?

連想配列を数値とキーのアルファベット順に並べ替えるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 07:48:03970ブラウズ

How to Sort an Associative Array by Numeric Value and Key Alphabetically?

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

プログラミングでは、特定の基準で連想配列を並べ替える必要がある状況が発生します。そのようなシナリオの 1 つは、配列を数値で並べ替えてからキーで並べ替えることです。

タグの出現を表す文字列キーと数値を含む配列があるとします。

$arrTags = [
    'mango' => 2,
    'orange' => 4,
    'apple' => 2,
    'banana' => 3
];

私たちの目標は、次のように表示することです。リスト内のタグが最も多く出現するものから順に並べられ、同じ出現の場合はタグ名がアルファベット順に並べ替えられます。この結果は次のようになります。

orange (4)
banana (3)
apple (2)
mango (2)

arsort() 関数は最初に値を並べ替えることができますが、複数の値が等しい場合、キーのアルファベット順を維持できません。

提案どおりScott Saunders によると、array_keys() 関数と array_values() 関数を利用してこの制限を克服できます。

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);

この関数の組み合わせにより、配列のキーと値を直接操作でき、最終的に目的の並べ替えを実現できます。行動。値を降順で並べ替えてから、キーを昇順で並べ替えることで、目的の出力が得られます。

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

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