ホームページ > バックエンド開発 > PHPチュートリアル > 反復を使用して列の値に基づいて 2D PHP 配列内の行をグループ化するにはどうすればよいですか?

反復を使用して列の値に基づいて 2D PHP 配列内の行をグループ化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 20:08:10
オリジナル
792 人が閲覧しました

How Can I Group Rows in a 2D PHP Array Based on a Column Value Using Iteration?

反復アプローチを使用した列値による 2D 配列行のグループ化

複雑な多次元配列を扱う場合、特定の基準に基づいて行をグループ化する必要があります。列の値が頻繁に発生します。 PHP にはこのタスク用のネイティブ関数がありませんが、単純な foreach ループで効果的にこれを実現できます。

次の配列を考えてみましょう:

$data = [
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'reterty',
        'description' => 'tyrfyt',
        'packaging_type' => 'PC'
    ],
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'dftgtryh',
        'description' => 'dfhgfyh',
        'packaging_type' => 'PC'
    ],
    [
        'id' => 97,
        'shipping_no' => '212755-2',
        'part_no' => 'ZeoDark',
        'description' => 's%c%s%c%s',
        'packaging_type' => 'PC'
    ]
];
ログイン後にコピー

配列の行を「id」列でグループ化するには、次のループを使用します:

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}
ログイン後にコピー

このループは、元の配列の各要素を反復処理します。各要素について、「id」値をチェックし、その要素を結果配列内の対応する部分配列に追加します。

結果の $result 配列は、次のように 'id' によってグループ化されます。

[
    96 => [
        // Element with id 96 from the original array
        // Element with id 96 from the original array
    ],
    97 => [
        // Element with id 97 from the original array
    ]
]
ログイン後にコピー

このアプローチでは、結果配列内の項目の重複を回避し、「id」列の値に基づいて各行が正しいグループに割り当てられるようにします。

以上が反復を使用して列の値に基づいて 2D PHP 配列内の行をグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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