ホームページ  >  記事  >  バックエンド開発  >  PHPで配列値で並べ替える方法

PHPで配列値で並べ替える方法

PHPz
PHPzオリジナル
2023-04-26 09:08:282750ブラウズ

PHP では、組み込み関数 sort() および rsort() を使用して、配列を昇順および降順に並べ替えることができます。ただし、これら 2 つの関数は配列のキーをキー値で並べ替えることしかできないため、配列内の値をキー値で並べ替えたい場合は、他の関数を使用する必要があります。

以下では、配列値による並べ替えのいくつかの方法を紹介します:

1. asort() および arsort()

## を使用します。 #PHP では、組み込み関数

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() は、キー値と値の間の関連付けを保存できます。

2.

usort()

PHP には、カスタム比較関数に従って配列を並べ替えることができる

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, &#39;compare_function&#39;);
print_r($numbers);
// Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
3.

array_multisort()## を使用します。 #もう 1 つの一般的な方法は、複数の配列を同時に並べ替えることができる

array_multisort()

関数を使用することです。配列と並べ替えメソッドを渡すと、関数は並べ替えメソッドに従って配列値を並べ替えます。 次は、

array_multisort()

関数を使用して配列を昇順に並べ替える例です。 <pre class="brush:php;toolbar:false">$numbers = array(3, 1, 5, 2, 4); array_multisort($numbers, SORT_ASC); print_r($numbers); // Output: Array ( [0] =&gt; 1 [1] =&gt; 2 [2] =&gt; 3 [3] =&gt; 4 [4] =&gt; 5 )</pre>

array_multisort()

関数はすべてをソートします 配列がソートされます。特定の配列で並べ替える必要がある場合は、この配列を最初のパラメーターに入れる必要があります。 概要

PHP で配列値による並べ替えを実装する方法は多数あり、上記はそのうちのほんの一部です。これらの関数を使用するときは、パラメーターのタイプと位置、および並べ替え方法の選択に注意する必要があります。同時に、並べ替える必要があるパラメーターが複数ある場合、

array_multisort()

を使用すると、処理がより便利になります。

以上がPHPで配列値で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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