PHPで2次元配列をソートする方法

PHPz
リリース: 2023-05-20 11:10:37
オリジナル
4789 人が閲覧しました

PHP は一般的に使用される Web プログラミング言語であり、さまざまなアプリケーション シナリオにおいて、配列の処理は避けられません。配列のソートも開発中によく直面する問題です。この記事では、2次元配列をソートする方法を説明します。

1. 2 次元配列のソートの概要

PHP では、2 次元配列は複数の 1 次元配列によってリンクされた複合配列です。行の概念と列の概念。 2 次元配列をソートする必要がある場合は、通常、その列の 1 つをソートする必要があります。このとき、ソートにはPHPが提供する関数を使用する必要があります。

2. 2 次元配列をソートする方法

1. usort() 関数を使用する

usort() 関数は、PHP に付属している配列をソートする関数です。配列内の要素の並べ替えをカスタマイズでき、複数の並べ替え方法をサポートし、比較的柔軟なパラメータを備えています。 usort() 関数を使用して 2 次元配列をソートできます。

サンプル コードは次のとおりです。

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 根据age字段进行升序排序
usort($array, function($a, $b){
    return $a['age'] - $b['age'];
});

// 输出排序后的数组
print_r($array);
ログイン後にコピー

上記のサンプル コードでは、各人の名前と年齢情報を含む 2 次元配列を定義し、usort() 関数を使用してこの 2 次元配列を並べ替えます。 次元配列は、年齢フィールドに従って昇順で並べ替えられます。このうち、匿名関数は、年齢フィールドの値を比較し、対応する並べ替え操作を実行するために使用されます。

2. array_multisort() 関数を使用する

array_multisort() 関数は、PHP での並べ替えに使用されるもう 1 つの関数で、複数の 1 次元配列または複数の多次元配列を並べ替えることができます。この関数は 2 つの必須パラメータで始まります。最初のパラメータは並べ替える配列で、2 番目のパラメータはオプションの並べ替え方法です。この関数を使用して 2 次元配列を並べ替えることもできます。

サンプル コードは次のとおりです。

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 定义排序规则
$sort_order = array();
foreach($array as $key => $value){
    $sort_order[$key] = $value['age'];
}

// 根据age字段进行升序排序
array_multisort($sort_order, SORT_ASC, $array);

// 输出排序后的数组
print_r($array);
ログイン後にコピー

上記のサンプル コードでは、各人の名前と年齢情報を含む 2 次元配列を定義し、array_multisort() を使用します。これをソートする関数。2 次元配列は、年齢フィールドに従って昇順にソートされます。このうち、$sort_order 配列は年齢情報を格納するために使用され、並べ替え方法を決定するために array_multisort() 関数に渡されます。

3. array_sort() 関数を使用する

array_sort() は、特に多次元配列の並べ替えのために PHP 開発者自身によって作成された関数です。使い方はとても簡単で、並べ替える配列と並べ替えるフィールドを渡すだけで並べ替えが完了します。

サンプル コードは次のとおりです。

// 定义一个二维数组
$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
    array('name' => 'Jack', 'age' => 22)
);

// 根据age字段进行升序排序
array_sort($array, 'age', 'asc');

// 输出排序后的数组
print_r($array);
ログイン後にコピー

上記のサンプル コードでは、2 次元配列も定義し、array_sort() 関数を使用して 2 次元配列を昇順に並べ替えています。年齢欄に応じてご注文下さい。

3. まとめ

上記は 2 次元配列をソートする 3 つの方法であり、それぞれの方法には独自の特徴と適用範囲があります。実際の開発では、特定のニーズに応じて 2 次元配列をソートする適切な方法を選択できます。

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

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