繁体   English   中英

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

[英]Grouping array based on an specific value

我有一个基本的数组,我想根据x字段值将其分组。 我想将值保持在一个数组中。 我已经尝试了foreach,for循环的多种方法,但是没有运气能达到我的期望。 如何获得以下期望的结果?

$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',
        ],
    ],
];

希望这就是你想要的:

$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM