ホームページ  >  記事  >  バックエンド開発  >  PHPで2次元配列を昇順する方法

PHPで2次元配列を昇順する方法

王林
王林オリジナル
2023-05-19 13:50:08613ブラウズ

PHP 開発を詳しく学ぶと、解決する必要のある一般的な問題が数多くあります。 2 次元配列を昇順にソートするような基本的なもの。この記事では、PHP で 2D 配列を昇順に並べ替える方法を説明します。

2 次元配列は、順序付けられた値のセットを含む PHP 配列の一種です。 1 次元配列よりも多くの次元があり、他の配列内でネストすることができます。このため、2D 配列は大量のデータを処理するのに最適です。

PHP では、sort 関数を使用して配列を並べ替えることができます。この関数は、ASCII コード テーブルに従って昇順に、その逆に降順に配列を並べ替えます。 1 次元配列の場合は、sort 関数を使用して簡単に並べ替えることができますが、2 次元配列の場合は追加の処理が必要です。

2 次元配列をソートするには、各部分配列をソートするための「キー」を指定する必要があります。キーは、比較と並べ替えに使用される配列内の属性です。この場合、「キー」は、名前、日付、価格、ID などの配列の任意の属性になります。

簡単な方法は、2 次元配列内の特定のキー名を検索する PHP 関数 array_column() を使用することです。この関数は、指定されたキーのすべての値を含む配列を返します。並べ替えるキーを選択すると、array_multisort() 関数を使用してキーを昇順に並べ替えることができます。

以下は、array_column()とarray_multisort()を使用して2次元配列を昇順にソートする配列操作のサンプルコードです。

<?php
$employees = array(
  array('name' => 'John Smith', 'age' => 28, 'salary' => 3000),
  array('name' => 'Anna Black', 'age' => 33, 'salary' => 2500),
  array('name' => 'Peter Brown', 'age' => 24, 'salary' => 2200),
  array('name' => 'Emma Rose', 'age' => 29, 'salary' => 3500),
);

// 排序前的数组
echo "排序前:<br>";
print_r($employees);

// 获取所有员工的工资
$salary = array_column($employees, 'salary');

// 按升序排序员工工资
array_multisort($salary, SORT_ASC, $employees);

// 排序后的数组
echo "排序后:<br>";
print_r($employees);
?>

上記のサンプル コードでは、まず従業員の名前、年齢、給与などのデータを含む 2 次元配列を定義します。 print_r() 関数を使用して、並べ替える前に結果を表示します。次に、array_column() 関数を使用して、すべての従業員の給与値を取得し、変数に格納します。最後に、array_multisort() 関数を使用してこの変数を昇順で並べ替え、同じ順序で元の配列を並べ替えます。再度 print_r() 関数を使用して、並べ替えられた結果を表示します。

このサンプル コードは次の結果を出力します。

排序前:
Array
(
    [0] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

排序后:
Array
(
    [0] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

上記のように、array_column() 関数と array_multisort() 関数の連携により、2 次元配列を昇順に簡単にソートできます。注文。

他のタイプの並べ替えの場合は、array_multisort() 関数の最初のパラメーターを変更して、別の属性を使用するだけです。

PHP には、ワークロードを簡素化できる興味深い関数やメソッドが多数あります。この知識をマスターすると、大量のデータをより効率的に処理できるようになり、PHP 開発能力が向上します。

以上がPHPで2次元配列を昇順する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。