ホームページ > バックエンド開発 > PHPチュートリアル > ArrayをPHPでどのように並べ替えますか?

ArrayをPHPでどのように並べ替えますか?

Robert Michael Kim
リリース: 2025-03-19 11:42:31
オリジナル
214 人が閲覧しました

ArrayをPHPでどのように並べ替えますか?

PHPでは、さまざまな組み込み関数を使用して配列のソートを実現できます。簡単な配列を整理する方法を見てみましょう。

単純な数値配列の並べ替え:

昇順で単純な数値配列を並べ替えるには、 sort()関数を使用できます。これが例です:

 <code class="php">$numbers = array(4, 2, 8, 6, 1); sort($numbers); print_r($numbers);</code>
ログイン後にコピー

これは出力されます:

 <code>Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 6 [4] => 8 )</code>
ログイン後にコピー

単純な連想配列のソート:

連想配列の場合、 asort()関数を使用して、値でソートしながらキー価値の関連性を維持できます。これが例です:

 <code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); asort($fruits); print_r($fruits);</code>
ログイン後にコピー
ログイン後にコピー

これは出力されます:

 <code>Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )</code>
ログイン後にコピー
ログイン後にコピー

配列用のPHPで利用可能な異なるソート機能は何ですか?

PHPは、異なる基準に基づいて配列をソートするためのいくつかの関数を提供します。以下は、メインソート関数のリストです。

  1. sort() :配列を昇順で並べ替え、キーを0から始まる連続数値インデックスにリセットします。

     <code class="php">sort($array);</code>
    ログイン後にコピー
  2. rsort() :配列を下降順に並べ替え、キーを0から始まる連続数値インデックスにリセットします。

     <code class="php">rsort($array);</code>
    ログイン後にコピー
  3. ASORT() :インデックスアソシエーションを維持し、昇順で配列を並べ替えます。

     <code class="php">asort($array);</code>
    ログイン後にコピー
  4. Arsort() :インデックスアソシエーションを維持し、配列を下降順序で並べ替えます。

     <code class="php">arsort($array);</code>
    ログイン後にコピー
  5. KSORT() :昇順でキーごとに配列を並べ替えます。

     <code class="php">ksort($array);</code>
    ログイン後にコピー
  6. krsort() :キーごとに配列を下降順に並べ替えます。

     <code class="php">krsort($array);</code>
    ログイン後にコピー
  7. natsort() :「自然な順序」アルゴリズムを使用して配列を並べ替えます。これは、数字を含む文字列をソートするのに役立ちます。

     <code class="php">natsort($array);</code>
    ログイン後にコピー
  8. natcaseSort() :ケースに依存しない「自然順序」アルゴリズムを使用して配列を並べ替えます。

     <code class="php">natcasesort($array);</code>
    ログイン後にコピー
  9. USORT() :ユーザー定義の比較関数によって配列を並べ替えます。

     <code class="php">usort($array, 'comparison_function');</code>
    ログイン後にコピー
  10. uasort() :ユーザー定義の比較関数で配列を並べ替え、インデックスアソシエーションを維持します。

     <code class="php">uasort($array, 'comparison_function');</code>
    ログイン後にコピー
  11. uksort() :ユーザー定義の比較関数を使用して、キーで配列を並べ替えます。

     <code class="php">uksort($array, 'comparison_function');</code>
    ログイン後にコピー

PHPで多次元配列を並べ替えるにはどうすればよいですか?

PHPでの多次元配列のソートは、 usort()uasort() 、またはuksort()を使用してカスタム比較関数を使用して実行できます。サブアレイ内の特定のキーに基づいて、多次元配列を並べ替える例を次に示します。

名前や年齢のある人が多数あり、昇順で年齢別に並べ替えたいとしましょう。

 <code class="php">$people = array( array("name" => "John", "age" => 25), array("name" => "Jane", "age" => 30), array("name" => "Jim", "age" => 20) ); function compareAge($a, $b) { return $a['age']  $b['age']; } usort($people, 'compareAge'); print_r($people);</code>
ログイン後にコピー

これは出力されます:

 <code>Array ( [0] => Array ( [name] => Jim [age] => 20 ) [1] => Array ( [name] => John [age] => 25 ) [2] => Array ( [name] => Jane [age] => 30 ) )</code>
ログイン後にコピー

インデックスアソシエーションを維持しながら、ArrayをPHPで並べ替えることができますか?

はい、 asort()およびarsort()関数を使用してインデックスアソシエーションを維持しながら、PHPで配列を並べ替えることができます。

昇順でasort()を使用してください:

 <code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); asort($fruits); print_r($fruits);</code>
ログイン後にコピー
ログイン後にコピー

これは出力されます:

 <code>Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )</code>
ログイン後にコピー
ログイン後にコピー

降順でarsort()を使用してください:

 <code class="php">$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); arsort($fruits); print_r($fruits);</code>
ログイン後にコピー

これは出力されます:

 <code>Array ( [a] => orange [d] => lemon [b] => banana [c] => apple )</code>
ログイン後にコピー

これらの関数は両方とも値で配列をソートしますが、キーはそれぞれの値に関連付けられたままです。

以上がArrayをPHPでどのように並べ替えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート