ホームページ > バックエンド開発 > PHPチュートリアル > 多次元 PHP 配列を内部フィールドの値でソートするにはどうすればよいですか?

多次元 PHP 配列を内部フィールドの値でソートするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-18 16:33:12
オリジナル
612 人が閲覧しました

How to Sort a Multidimensional PHP Array by an Inner Field's Value?

PHP の内部フィールドによる多次元配列のソート

データベース テーブルに似た多次元配列があり、各外部配列要素が行と、フィールド名と値を含む各内部配列。 「価格」などの特定のフィールドで行 (外側の配列要素) を並べ替えたいと考えています。

これを実現するには、次の PHP 関数を利用できます。

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
ログイン後にコピー

This line は、目的の結果を簡潔な方法で実現します。 array_multisort() 関数は 3 つの引数を取ります:

  1. array_column($yourArray, "price") - 各内部配列から "price" フィールド値を 1 次元配列に抽出します。
  2. SORT_ASC - 「価格」フィールドを昇順で並べ替えることを指定しますorder.
  3. $yourArray - 並べ替える多次元配列。

これらの関数を連鎖させることにより、外側の配列要素を「価格」フィールドで効果的に並べ替えることができます。このプロセスでは元の $yourArray 変数が上書きされることに注意することが重要です。そのため、元の順序を保持する必要がある場合は、結果を別の変数に割り当てることをお勧めします。

更新:

  • 最近の PHP 7 バージョンでは、「&」を使用して変数を参照渡しするとエラーが発生する可能性があります。これを解決するには、次の 2 行の回避策を使用できます。
$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, $yourArray);
ログイン後にコピー
  • PHP 8 ではこの問題が解決され、1 行のソリューションを調整せずに使用できるようになります。

以上が多次元 PHP 配列を内部フィールドの値でソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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