douqiao1997 2017-07-27 04:18
浏览 214
已采纳

根据特定值对数组进行分组

I have a basic array where I would like to group it based on the x field value. I would like to keep the values still in one array. I have tried multiple things foreach, for loops but no luck to get it how I would like. How can I achieve the below desired result?

$originalArray = [
    [
        'x' => 'test',
        'y' => 'blah',
    ],
    [
        'x' => 'test',
        'y' => 'blah',
    ],
    [
        'x' => 'test2',
        'y' => 'blah',
    ],
    [
        'x' => 'test2',
        'y' => 'blah',
    ],
];

Desired Result:
[
    'test'  => [
        [
            'x' => 'test',
            'y' => 'blah',
        ],
        [
            'x' => 'test',
            'y' => 'blah',
        ],
    ],
    'test2' => [
        [
            'x' => 'test2',
            'y' => 'blah',
        ],
        [
            'x' => 'test2',
            'y' => 'blah',
        ],
    ],
];
  • 写回答

1条回答 默认 最新

  • doubiaokai4998 2017-07-27 04:28
    关注

    Hope this is what you want :

    $originalArray = [
        [
            'x' => 'test',
            'y' => 'blah',
        ],
        [
            'x' => 'test',
            'y' => 'blah',
        ],
        [
            'x' => 'test2',
            'y' => 'blah',
        ],
        [
            'x' => 'test2',
            'y' => 'blah',
        ],
    ];
    $desired_array = array();
    foreach ($originalArray as $key => $value) {
      $desired_array[$value['x']][]=$value;
    }
    var_dump($desired_array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大