PHP でキー名を保持しながら配列を値で並べ替える方法は、usort() 関数を使用して配列を値で並べ替えることです。 usort() 関数には、要素値の差を返す比較関数として匿名関数が渡されます。 usort() は、キーを変更せずに、匿名関数に従って配列をソートします。
#PHP で配列を値でソートし、キー名を保持するにはどうすればよいですか?
PHP では、asort()
関数を使用して配列を値で昇順に並べ替えたり、arsort()
を使用して降順に並べ替えたりできます。関数。ただし、どちらの関数も配列内のキーを破棄します。
キー名を保持したまま配列を値で並べ替える場合は、usort()
関数を次のように使用できます。
$arr = array( 'a' => 10, 'b' => 5, 'c' => 20 ); usort($arr, function($a, $b) { return $a - $b; }); print_r($arr);
出力:
Array ( [b] => 5 [a] => 10 [c] => 20 )
上記のコード:
usort()
は 2 つのパラメーターを受け入れます: ソートされる配列 $arr
とソートに使用される要素値です。匿名関数を比較します。 $a
と $b
を受け取り、それらの差を返します。 usort()
は、比較関数として無名関数を使用して、配列内の要素を並べ替えます。 実際的なケース
学生の成績を含む配列を考えてみましょう:
$students = array( 'John' => 90, 'Jane' => 85, 'Peter' => 95 );
学生の名前を成績ごとに昇順に並べ替えたいとします。名前をキー名として保持したまま、次のコードを使用できます:
usort($students, function($a, $b) { return $a - $b; });
出力:
Array ( [Jane] => 85 [John] => 90 [Peter] => 95 )
以上がPHP配列を値でソートした後、キー名を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。