反復アプローチを使用した列値による 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 サイトの他の関連記事を参照してください。