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

DDD
リリース: 2024-10-30 11:49:03
オリジナル
219 人が閲覧しました

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

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