PHP には配列のソート関数が多数用意されており、配列のさまざまなソート方法を実現できます。一般的に使用される配列の並べ替え方法をいくつか示します。
sort() 関数は配列を昇順に並べ替えるために使用され、rsort() 関数は次の目的で使用されます。配列を降順に並べ替えます。どちらの関数も元の配列をソートし、新しい配列を作成しません。
例:
$arr = array(1, 5, 2, 8, 3); sort($arr); // 升序排序 print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 8 ) rsort($arr); // 降序排序 print_r($arr); // 输出:Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 2 [4] => 1 )
asort() 関数は、配列を昇順にソートするために使用されます。これはsort()と同じです同様です。ただし、sort() とは異なり、asort() は配列キー名も保持します。同様に、arsort() はキー名を降順で保存します。これら 2 つの関数は、元の配列もソートします。
例:
$arr = array("a" => 5, "b" => 3, "c" => 8, "d" => 2); asort($arr); // 升序排序并保留键名 print_r($arr); // 输出:Array ( [d] => 2 [b] => 3 [a] => 5 [c] => 8 ) arsort($arr); // 降序排序并保留键名 print_r($arr); // 输出:Array ( [c] => 8 [a] => 5 [b] => 3 [d] => 2 )
上記の 2 つの関数、ksort() および krsort() とは異なります。関数はキー名に従って配列をソートします。 ksort() は昇順でソートし、krsort() は降順でソートします。
例:
$arr = array("a" => 5, "c" => 8, "b" => 3, "d" => 2); ksort($arr); // 按照键名升序排序 print_r($arr); // 输出:Array ( [a] => 5 [b] => 3 [c] => 8 [d] => 2 ) krsort($arr); // 按照键名降序排序 print_r($arr); // 输出:Array ( [d] => 2 [c] => 8 [b] => 3 [a] => 5 )
カスタム アルゴリズムを使用して配列を並べ替える必要がある場合は、usort 関数を使用できます。 () 関数。この関数には、配列要素のサイズを比較する関数が引数として必要です。配列要素を交換する必要がある場合、この関数はそれらを自動的に交換します。
例:
$arr = array("apple", "banana", "peach", "orange"); function cmp($a, $b) { return strlen($a) - strlen($b); } usort($arr, "cmp"); print_r($arr); // 输出:Array ( [0] => apple [1] => peach [2] => banana [3] => orange )
上の例では、カスタム アルゴリズムを使用して、文字列の長さに応じて昇順で並べ替えています。
概要
上記は、PHP で一般的に使用される配列の並べ替え関数です。独自のプログラムの実際のニーズに応じて使用する必要があります。もちろん、カスタム アルゴリズムを組み合わせて、より複雑なニーズを満たすこともできます。
以上がPHPで配列ソートメソッドを実装できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。