PHP を使用した列値による 2D 配列の効率的なグループ化
特定の列値による多次元配列のグループ化により、データの編成と取得が強化されます。このタスク用のネイティブ PHP 関数はありませんが、foreach ループを使用したカスタム アプローチで効果的にこの目標を達成できます。
問題:
を表す次の 2D 配列について考えてみましょう。データ行:
$array = [ [ '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」列と形式でグループ化することです。グループ化された行の部分配列。
解決策:
foreach ループの使用:
$result = []; foreach ($data as $element) { $result[$element['id']][] = $element; }
説明:
foreach ループは、$data 配列内の各要素を反復処理します。各要素について、「id」列をチェックし、それを $result 配列のキーとして使用します。キー (id) がすでに存在する場合、新しい要素が対応するサブ配列に追加されます。
出力:
$result 配列は ' に基づいてグループ化されます。 id' 列の結果:
$result = [ 96 => [ [ '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', ], ], 97 => [ [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC', ], ], ];
このメソッドは、2D 配列をグループ化する柔軟かつ効率的な方法を提供します。指定された列の値により、効率的なデータの抽出と操作が可能になります。
以上が2D PHP 配列を列の値で効率的にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。