PHP删除重复的键并将值组合到多维数组中

时间:2019-05-24 11:08:41

标签: php arrays sorting multidimensional-array

我试图获得一个漂亮的多维数组,删除重复的键,并将这些键作为主键,并将值作为另一个子数组。

这是我的起始数组:

Array
(
    [0] => Array
        (
            [pa_flavour] => 101
        )

    [1] => Array
        (
            [pa_flavour] => 102
        )

    [2] => Array
        (
            [pa_flavour] => 103
        )

    [3] => Array
        (
            [pa_flavour] => 104
        )

    [4] => Array
        (
            [pa_flavour] => 100
        )

    [5] => Array
        (
            [pa_bottle-size] => 108
        )

    [6] => Array
        (
            [pa_nicotine-strength] => 109
        )

    [7] => Array
        (
            [pa_nicotine-strength] => 110
        )

)

这就是我要实现的目标:

Array
(
    [pa_flavour] => [
        101, 
        102, 
        103,
        104,
        100
    ],
    [pa_bottle-size] => [
        108
    ],
    [pa_nicotine-strength] => [
        109,
        110
    ]
)

我遵循了多个教程,并使用了类似问题的各种功能,但似乎没有一个对我有用。有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以这样处理

$res = [];
foreach($arr as $k => $v){
  foreach ($v as $key => $value) {
    $res[$key][] = $value;
  }
}

Live Demo