PHP は、主に Web 開発に使用される、広く使用されているオープン ソース スクリプト言語です。 PHP を使用して Web アプリケーションを開発する場合、データを並べ替える必要があることがよくあります。 PHP では、sort()、rsort()、asort()、arsort()、ksort()、krsort()、usort()、uasort()、uksort() などの関数を使用して配列を並べ替えることができます。 。これらの機能の使い方を以下に紹介します。
sort() 関数は、配列を昇順にソートするために使用される PHP の関数です。この関数は数値配列と文字列配列を並べ替えることができますが、並べ替えできるのは単一次元の配列のみです。コードは次のとおりです。
$numbers = array(4, 2, 8, 6); sort($numbers); print_r($numbers); // 输出:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
上記の例では、sort() 関数は数値配列 $numbers を昇順にソートし、結果を出力します。
rsort() 関数は、配列を降順にソートするために使用される PHP の関数です。この関数は、ソート順序が降順に変更されることを除いて、sort() 関数に似ています。コードは次のとおりです。
$numbers = array(4, 2, 8, 6); rsort($numbers); print_r($numbers); // 输出:Array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )
上記の例では、rsort() 関数は数値配列 $numbers を降順にソートし、結果を出力します。
asort() 関数は、配列を昇順にソートするために使用される PHP の関数です。sort() 関数とは異なります。 ) 関数 元の配列のキー値は保持されます。コードは次のとおりです。
$numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); asort($numbers); print_r($numbers); // 输出:Array ( [b] => 2 [d] => 4 [a] => 6 [c] => 8 )
上記の例では、asort() 関数は文字列配列 $numbers を昇順にソートし、キー値を元の配列に保持します。
arsort() 関数は、配列を降順に並べ替えるために使用される PHP の関数です。asort() 関数と似ています。また、配列内の元のキー値も保持されます。コードは次のとおりです。
$numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); arsort($numbers); print_r($numbers); // 输出:Array ( [c] => 8 [a] => 6 [d] => 4 [b] => 2 )
上の例では、arsort() 関数は文字列配列 $numbers を降順に並べ替え、キー値を元の配列に保持します。
ksort() 関数は、配列をキー名で昇順にソートするために使用される PHP の関数です。この関数は、単一次元の配列のみを並べ替えることができます。コードは次のとおりです。
$numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); ksort($numbers); print_r($numbers); // 输出:Array ( [a] => 6 [b] => 2 [c] => 8 [d] => 4 )
上の例では、ksort() 関数は文字列配列 $numbers をキー名の昇順に並べ替えます。
krsort() 関数は、キー名の降順で配列をソートするために使用される PHP の関数です。この関数は、ソート順序が降順に変更されることを除いて、ksort() 関数に似ています。コードは次のとおりです。
$numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); krsort($numbers); print_r($numbers); // 输出:Array ( [d] => 4 [c] => 8 [b] => 2 [a] => 6 )
上の例では、krsort() 関数は文字列配列 $numbers をキー名の降順に並べ替えます。
usort() 関数は、配列をカスタムソートするための PHP の関数です。この関数は、並べ替え用の比較関数をカスタマイズする必要があります。比較関数は、比較結果を表す整数値を返します。最初の引数が 2 番目の引数より小さい場合は負の数が返され、最初の引数が 2 番目の引数と等しい場合は 0 が返され、最初の引数が 2 番目の引数より大きい場合は正の数が返されます。コードは次のとおりです。
function compare($a, $b) { if($a<$b) return -1; elseif($a==$b) return 0; else return 1; } $numbers = array(4, 2, 8, 6); usort($numbers, "compare"); print_r($numbers); // 输出:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
上の例では、usort() 関数は数値配列 $numbers のカスタム昇順並べ替えを実行し、比較関数は Compare() 関数です。
uasort() 関数は、配列の並べ替えをカスタマイズするために PHP で使用される関数です。usort() 関数とは異なり、uasort () 関数は元の配列のキー値を保持します。コードは次のとおりです。
function compare($a, $b) { if($a<$b) return -1; elseif($a==$b) return 0; else return 1; } $numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); uasort($numbers, "compare"); print_r($numbers); // 输出:Array ( [b] => 2 [d] => 4 [a] => 6 [c] => 8 )
上の例では、uasort() 関数は文字列配列 $numbers に対してカスタムの昇順ソートを実行し、キー値を元の配列に保持します。
uksort() 関数は、キー名による配列の並べ替えをカスタマイズするために使用される PHP の関数です。この関数は、並べ替え用の比較関数をカスタマイズする必要があります。比較関数は、比較結果を表す整数値を返します。コードは次のとおりです。
function compare($a, $b) { if($a<$b) return -1; elseif($a==$b) return 0; else return 1; } $numbers = array("d"=>4, "b"=>2, "c"=>8, "a"=>6); uksort($numbers, "compare"); print_r($numbers); // 输出:Array ( [a] => 6 [b] => 2 [c] => 8 [d] => 4 )
上の例では、uksort() 関数は文字列配列 $numbers に対してキー名によるカスタムの昇順ソートを実行します。
概要
PHP には、配列をソートできるさまざまな関数があり、開発者はニーズに応じてソートに適切な関数を選択できます。配列の並べ替えをカスタマイズする必要がある場合は、usort()、uasort()、uksort() 関数を使用し、並べ替え用の比較関数をカスタマイズできます。配列をキー名でソートする必要がある場合は、ksort()、krsort()、および uksort() 関数を使用できます。元の配列のキー値を保持したい場合は、asort( )、arsort()、および uasort() 関数。
以上がPHPで配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。