ホームページ >バックエンド開発 >PHPチュートリアル >PHP で列の値によって 2D 配列の行を効率的にグループ化するにはどうすればよいですか?

PHP で列の値によって 2D 配列の行を効率的にグループ化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 17:19:111050ブラウズ

How Can I Efficiently Group 2D Array Rows by a Column Value in PHP?

列値による 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 サイトの他の関連記事を参照してください。

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