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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 06:14:10945ブラウズ

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

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

データベースのような構造を表す多次元配列を考えます。は、フィールド名と値のペアを含む内部配列を持つ行を示します。例:

Array
(
    [0] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )

    [1] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [2] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )  
}

目標は、「価格」フィールドに基づいてこれらの行を並べ替えることです。望ましい結果は次のとおりです:

Array
(
    [0] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [1] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )

    [2] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )        
}

解決策:

この並べ替えを実現するために、PHP は次の簡単な解決策を提供します。

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

または、次のスニペットを使用して、外側の配列キーを保持できます:

$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, SORT_NUMERIC, $yourArray);

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

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