PHP は、Web 開発アプリケーションでよく使用されるスクリプト言語です。配列操作は PHP 開発でよく使用される操作の 1 つであり、多くの場合、さらなる処理のために配列をソートする必要があります。
sort() 関数と rsort() 関数は通常、1 次元配列のソートに使用されますが、これらの違いは、sort() は昇順でソートするのに対し、rsort() は降順でソートすることです。それらの使い方を見てみましょう。
sort() 関数は、配列を昇順に並べ替えることができます。この関数は、元の配列のキーと値の関係を変更し、並べ替えが成功したかどうかを示すブール値 (true または false) を返します。
たとえば、1 次元配列があるとします:
$arr = array(5,8,3,0,2,7,1);
sort() 関数を使用して昇順に並べ替えることができます:
sort($arr);
並べ替えられた配列は次のとおりです。 :
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 7 [6] => 8 )
sort() 関数は文字列配列を並べ替えることもできます。 sort() 関数は、辞書の順序ではなく、ASCII コード テーブル内の文字の順序に従ってソートすることに注意してください。
たとえば、文字列配列があります:
$arr = array("apple", "banana", "peach", "orange");
sort() 関数を使用して並べ替えます:
sort($arr);
並べ替えられた配列は次のとおりです:
Array ( [0] => apple [1] => banana [2] => orange [3] => peach )
ソート結果がアルファベット順にソートされていないことがわかります。
rsort() 関数は、降順でソートされる点を除いて、基本的に sort() 関数と同じです。
たとえば、1 次元配列があります:
$arr = array(5,8,3,0,2,7,1);
rsort() 関数を使用して降順に並べ替えることができます:
rsort($arr);
並べ替えられた配列は次のとおりです。 :
Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 3 [4] => 2 [5] => 1 [6] => 0 )
rsort() 関数は、文字列配列のソートにも適しています。
asort() 関数および arsort() 関数は、基本的に sort() 関数および rsort() 関数と同じですが、次の点が異なります。元の配列 キー名 (キーと値の関係)。
たとえば、連想配列があります:
$arr = array("apple" => 5, "banana" => 8, "peach" => 3, "orange" => 2);
asort() 関数を使用して昇順に並べ替えることができます:
asort($arr);
並べ替えられた配列は次のとおりです:
Array ( [orange] => 2 [peach] => 3 [apple] => 5 [banana] => 8 )
キー名 (キーと値の関係) が同じままであることがわかります。
arsort() 関数は、連想配列を降順で並べ替えるのにも適しています。
ksort() 関数と krsort() 関数は、キー値の配列をキー名の昇順と降順に並べ替えるのに使用されます。
たとえば、キー値の配列があります:
$arr = array("x" => 5, "z" => 8, "y" => 3, "w" => 2);
ksort() 関数を使用して昇順に並べ替えることができます:
ksort($arr);
並べ替えられた配列は次のとおりです。 :
Array ( [w] => 2 [x] => 5 [y] => 3 [z] => 8 )
ご覧のとおり、配列要素はキー名 (アルファベット順) でソートされています。
krsort() 関数は、キー値配列を降順に並べ替えるのにも適しています。
上記の関数は、1 次元配列のソートに適しています。多次元配列を扱う場合は、ソートの階層関係に注意する必要があります。
たとえば、2 次元配列があります:
$arr = array( array("name" => "xiaoming", "age" => 30), array("name" => "xiaohong", "age" => 25), array("name" => "xiaoli", "age" => 20) );
usort() 関数を使用して、年齢順に昇順に並べ替えることができます:
usort($arr, function($a, $b){ if($a["age"] == $b["age"]){ return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; });
並べ替え後配列は次のとおりです。
Array ( [0] => Array ( [name] => xiaoli [age] => 20 ) [1] => Array ( [name] => xiaohong [age] => 25 ) [2] => Array ( [name] => xiaoming [age] => 30 ) )
ご覧のとおり、usort() 関数は 2 次元配列を年齢に従って昇順に並べ替えます。
1 次元配列を並べ替えるには、sort() 関数と rsort() 関数を使用できます。連想配列を並べ替えるには、asort() 関数と arsort() 関数を使用でき、キーと値の配列を並べ替えるには、ksort() 関数と krsort() 関数を使用できます。多次元配列を扱う場合、usort() 関数を使用して並べ替えを行うことができます。上記の関数を使用すると、配列処理の効率と精度が大幅に向上します。
以上がPHP で 1 次元配列をソートする方法 (メソッドの簡単な分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。