ホームページ >バックエンド開発 >PHPチュートリアル >PHPでsort関数を使用して配列をソートする方法
PHP には、配列のソートに役立つ sort 関数が用意されています。この関数は、通常の配列、連想配列、および多次元配列のソートをサポートします。この記事では、sort 関数を使用して配列を並べ替える方法を説明します。
sort 関数の基本的な使い方
sort 関数は配列をソートすると、元の配列の順序を自動的に変更します。ソート関数の構文は次のとおりです:
sort(array &$array, int $sort_flags = SORT_REGULAR): bool
このうち、$array はソートする必要がある配列です。$sort_flags はオプションのパラメータで、SORT_NUMERIC (ソート済み) などのソート規則を指定するために使用されます。数値による)、SORT_STRING (文字による並べ替え)、順次並べ替え)、および SORT_FLAG_CASE (大文字と小文字を区別しない)。デフォルトでは、sort 関数はデータ型に関係なく文字列をアルファベット順に並べ替えます。
例 1: 通常の配列の並べ替え
まず、通常の配列に対する sort 関数の並べ替え操作を示すために、通常の配列を作成する必要があります。以下は例です:
$cars = array("Volvo", "BMW", "Toyota"); sort($cars); print_r($cars);
上記のコードは、$cars 配列 (「Volvo」、「BMW」、「Toyota」の 3 つの要素を含む) をソートし、ソートされた結果を (アルファベット順に) 出力します。 。
出力結果は次のとおりです:
Array ( [0] => BMW [1] => Toyota [2] => Volvo )
例 2: 連想配列の並べ替え
sort 関数を使用して連想配列を並べ替えることもできます。以下は例です:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); asort($age); print_r($age);
上記のコードは $age 配列 (つまり、3 つのキーと値のペアが含まれており、各キーと値のペアは key => value の形式です) を並べ替えます。ソート結果を出力します(値順に並べます)。 asort 関数を使用して配列を並べ替えると、連想配列が得られることに注意してください。つまり、キーと値のペアは並べ替えられず、値のサイズに従って配置されます。
出力結果は次のとおりです。
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
例 3: 多次元配列の並べ替え
sort 関数は、多次元配列の並べ替えにも使用できます。以下は例です:
$age = array( array("name"=>"Peter", "age"=>35), array("name"=>"Ben", "age"=>37), array("name"=>"Joe", "age"=>43) ); function compare_age($a, $b) { return $a['age'] - $b['age']; } usort($age, 'compare_age'); print_r($age);
上記のコードは、$age 配列 (つまり、3 つのサブ配列が含まれ、各サブ配列には 2 つのキーと値のペアが含まれます) をソートし、ソートされた結果を出力します。 (最小の年齢から最小の年齢まで) 大きな配列)。上記のコードでは、compare_age 関数をカスタマイズして 2 つのサブ配列の年齢を比較し、2 つのサブ配列の相対的な順序を示す値を返します。最後に、usort 関数を使用して $age 配列を並べ替えます。並べ替えルールは、カスタムの Compare_age 関数を呼び出すことです。
出力結果は次のとおりです:
Array ( [0] => Array ( [name] => Peter [age] => 35 ) [1] => Array ( [name] => Ben [age] => 37 ) [2] => Array ( [name] => Joe [age] => 43 ) )
要約すると、sort 関数を使用して配列を並べ替えるのは非常に簡単です。並べ替える必要がある配列を渡して、並べ替えるだけです。対応するルールに従って。通常の配列、連想配列、多次元配列のいずれであっても、sort 関数がその仕事を行うことができます。
以上がPHPでsort関数を使用して配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。