PHP では、組み込み関数 sort()
および rsort()
を使用して、配列を昇順および降順に並べ替えることができます。ただし、これら 2 つの関数は配列のキーをキー値で並べ替えることしかできないため、配列内の値をキー値で並べ替えたい場合は、他の関数を使用する必要があります。
以下では、配列値による並べ替えのいくつかの方法を紹介します:
asort()
および arsort()
asort() を使用して配列を値の昇順に並べ替え、
arsort() を使用して配列を値の降順に並べ替えることができます。価値。これら 2 つの関数は、キー値間の関連付けも保持します。
$numbers = array(3, 1, 5, 2, 4); asort($numbers); print_r($numbers); // Output: Array ( [1] => 1 [3] => 2 [0] => 3 [4] => 4 [2] => 5 ) arsort($numbers); print_r($numbers); // Output: Array ( [2] => 5 [4] => 4 [0] => 3 [3] => 2 [1] => 1 )
sort() と
rsort() を使用してキー値で配列を並べ替えると、キー値と値の関連付けは次のようになります。失った 。
asort() と
arsort() は、キー値と値の間の関連付けを保存できます。
usort() 関数も用意されています。比較関数は 2 つのパラメータを受け入れる必要があります。最初のパラメータが 2 番目のパラメータより小さい場合、関数は負の値を返します。2 つのパラメータが等しい場合、関数は 0 を返します。最初のパラメータが 2 番目のパラメータより大きい場合、関数は 0 を返します。関数は正の値を返します。
usort() を使用して配列を値の昇順に並べ替える例です:
$numbers = array(3, 1, 5, 2, 4); function compare_function($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } usort($numbers, 'compare_function'); print_r($numbers); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )3.
#もう 1 つの一般的な方法は、複数の配列を同時に並べ替えることができる 関数を使用することです。配列と並べ替えメソッドを渡すと、関数は並べ替えメソッドに従って配列値を並べ替えます。 次は、
関数を使用して配列を昇順に並べ替える例です。 <pre class="brush:php;toolbar:false">$numbers = array(3, 1, 5, 2, 4);
array_multisort($numbers, SORT_ASC);
print_r($numbers);
// Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )</pre>
関数はすべてをソートします 配列がソートされます。特定の配列で並べ替える必要がある場合は、この配列を最初のパラメーターに入れる必要があります。 概要
を使用すると、処理がより便利になります。
以上がPHPで配列値で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。