ホームページ > バックエンド開発 > PHPチュートリアル > PHP で 1 つの列に基づいてサブ配列をグループ化し、それらのグループ内の別の列からカンマ区切りの値を作成するにはどうすればよいでしょうか?

PHP で 1 つの列に基づいてサブ配列をグループ化し、それらのグループ内の別の列からカンマ区切りの値を作成するにはどうすればよいでしょうか?

Mary-Kate Olsen
リリース: 2024-11-02 15:54:29
オリジナル
524 人が閲覧しました

How can you group subarrays in PHP based on one column and create comma-separated values from another column within those groups?

サブ配列を 1 つの列でグループ化し、グループ内の別の列からカンマ区切りの値を作成する

PHP では、1 つの列に基づいてサブ配列をグループ化し、これらのグループ内の別の列の値を連結すると、特有の課題が生じます。この問題に取り組むために、指定された配列を目的の構造化形式に変換する詳細なソリューションを提供します。

提供されたサンプル配列は、それぞれ 2 つの要素を持つサブ配列で構成されます。目標は、2 番目の要素 (「列」と呼ばれる) に基づいてサブ配列をグループ化し、各要素がグループを表す新しい配列を作成することです。各グループ要素内では、最初の要素はグループ化された部分配列の最初の要素のカンマ区切りのリストである必要があり、2 番目の要素は共通の列を表します。

これを実現するには、ステップバイステップアプローチ:

  1. 元の配列をループします: 元の配列の各サブ配列を反復処理することから始めます。
  2. グループ キーを確認します: 各サブ配列について、$groups という新しい配列に 2 番目の要素 (グループ キー) が存在するかどうかを確認します。そうでない場合は、そのグループ キーの空の配列を初期化します。
  3. サブ配列をグループに追加: グループ キーが存在したら、現在のサブ配列の最初の要素を対応するグループ配列に追加します。
  4. 構造化配列を作成します: 元の配列を処理した後、$groups 配列をループします。各グループについて、最初の要素の値をカンマを使用して連結し、新しい配列に格納します。これをグループ キーと組み合わせて、目的の構造を作成します。

以下に提供されている PHP スクリプトは、このアプローチを示しています。

<code class="php">// Create the input array
$data = array(
    array('444', '0081'),
    array('449', '0081'),
    array('451', '0081'),
    array('455', '2100'),
    array('469', '2100')
);

// Initialize the groups array
$groups = array();

// Loop through the original array
foreach ($data as $item) {
    $key = $item[1];  // Get the group key

    // Check if the group key exists
    if (!array_key_exists($key, $groups)) {
        $groups[$key] = array();
    }

    // Add the subarray to the group
    $groups[$key][] = $item[0];
}

// Create the structured array
$structured = array();
foreach ($groups as $group => $values) {
    $structured[] = array(implode(',', $values), $group);
}

// Display the output
print_r($structured);</code>
ログイン後にコピー

このスクリプトは、入力配列を新しい配列に効果的に変換します。指定された構造で、サブ配列は共通の列に基づいてグループ化され、グループ化されたサブ配列の最初の要素はカンマで連結されます。

以上がPHP で 1 つの列に基づいてサブ配列をグループ化し、それらのグループ内の別の列からカンマ区切りの値を作成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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