数値とキーによる配列の並べ替え
プログラミングでは、特定の基準で連想配列を並べ替える必要がある状況が発生します。そのようなシナリオの 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 サイトの他の関連記事を参照してください。