ホームページ >バックエンド開発 >PHPチュートリアル >特定の列値に基づいて連想配列の行を整理するにはどうすればよいですか?

特定の列値に基づいて連想配列の行を整理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-30 11:49:03253ブラウズ

How to Organize Associative Array Rows Based on a Specific Column Value?

列の値による連想配列の行の編成

部分配列で構成される連想配列を操作する場合、多くの場合、データに基づいて行を再編成する必要があります。特定の列の値について。これにより、データの取得と分析が容易になります。

次の形式のサブ配列の配列があるとします。

[
    'a' => ['id' => 20, 'name' => 'chimpanzee'],
    'b' => ['id' => 40, 'name' => 'meeting'],
    'c' => ['id' => 20, 'name' => 'dynasty'],
    'd' => ['id' => 50, 'name' => 'chocolate'],
    'e' => ['id' => 10, 'name' => 'bananas'],
    'f' => ['id' => 50, 'name' => 'fantasy'],
    'g' => ['id' => 50, 'name' => 'football']
]

私たちの目標は、これらのサブ配列を、各サブ配列に「id」フィールドが存在します。

これを実現するには、次の手順に従います:

  1. 空の配列を初期化します:
$arr = array();
  1. 元の配列内の各サブ配列をループします。各サブ配列について、その 'id' 値を抽出し、それを新しい配列のキーとして使用します。
foreach ($old_arr as $key => $item) {
   $arr[$item['id']][$key] = $item;
}
  1. このステップでは、新しい配列を 'id' で昇順に並べ替えます。
ksort($arr, SORT_NUMERIC);
  1. 最後に、結果の配列が「id」値によって整理されます。
array
(
    10 => array
          (
            e => array ( id = 10, name = bananas )
          )
    20 => array
          (
            a => array ( id = 20, name = chimpanzee )
            c => array ( id = 20, name = dynasty )
          )
    40 => array
          (
            b => array ( id = 40, name = meeting )
          )
    50 => array
          (
            d => array ( id = 50, name = chocolate )
            f => array ( id = 50, name = fantasy )
            g => array ( id = 50, name = football )
          )
)

以上が特定の列値に基づいて連想配列の行を整理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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