列値による 2D 配列行の効果的なグループ化
この例では、連想配列をグループ化する必要があるシナリオがあります。特定の列値「id」に基づく配列。目標は、元のデータ構造を維持しながら重複を導入せずにこのタスクを達成することです。
array_column() と array_unique() は部分的にグループ化を実現できますが、以下に示すように、重複を回避するという点では不十分です。
>function array_group_by_id($array) { return array_column($array, null, 'id'); } $grouped_array = array_group_by_id($data);
この問題に完全に対処するには、ループベースのアプローチを利用できます。
$result = array(); foreach ($data as $element) { $result[$element['id']][] = $element; }
このループ元の配列を反復処理し、「id」値に基づいて「result」配列内の対応するサブ配列に各要素を追加します。これにより、各サブ配列に同じ 'id' を共有する元の配列の行が含まれる入れ子構造が効果的に作成されます。
以上がPHP で列の値によって 2D 配列の行を効率的にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。