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

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

Mary-Kate Olsen
リリース: 2024-11-28 22:58:15
オリジナル
420 人が閲覧しました

How to Sort Multidimensional Arrays by Inner Array Fields in PHP?

PHP の内部配列フィールドによる多次元配列の並べ替え

内部配列のフィールドによる多次元配列の並べ替えは、 PHPの構造化データ。これは、データを効率的に整理して取得するのに役立ちます。

内部配列のフィールドの 1 つで多次元配列を並べ替えるには、array_multisort() 関数を array_column() と組み合わせて利用できます。 array_column() 関数は、内部配列から値の列を抽出し、ソートできる 1 次元配列を作成します。

内部配列の「価格」フィールドによって多次元配列をソートするための構文

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

この例では、$yourArray は並べ替える多次元配列を表します。 SORT_ASC 定数は並べ替えの昇順を指定します。

コードの詳細は次のとおりです。

  • array_column($yourArray, "price"): この行は「価格」を抽出します。内部配列から値を取得し、価格の 1 次元配列を作成します。
  • SORT_ASC:この定数は、並べ替えの昇順を定義します。降順には SORT_DESC を使用できます。
  • $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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート