如何使像这样的数组

时间:2019-04-29 06:25:11

标签: php arrays json

我在数组中有一个数组,我只想使其成为一个数组,我可以轻松地检索该数据 我有一些喜欢 this

但是编码只合并了第一个数组中的最后一个值,而不是所有值

有可能做到这一点吗? 这样我就可以轻松地获取数组

3 个答案:

答案 0 :(得分:1)

使用array_mergedoc)和...(将数组拆分为单独的数组):

function flatten($arr) {
    return array_merge(...$arr);
}

$arr = [[["AAA", "BBB"]], [["CCC"]]];
$arr = flatten(flatten($arr)); // using twice as you have double depth

在您的情况下,$arr$obj["test2"]。如果您的对象是json,首先将其转换为数组,如果是字符串,请使用json_decode

实时示例:3v4l

答案 1 :(得分:1)

我将结合array_merge使用解包运算符...

$array['test2'] = array_merge(...array_merge(...$array['test2']));

在您的情况下,您需要精确地展平两次,如果尝试一次进行一次展平,则由于项目本身就是实际数组(从PHP的角度来看),它将失败。

演示:https://3v4l.org/npnTi

答案 2 :(得分:0)

如果有数组,则可以使用以下代码

if(!empty($array['test2'])){
    $newarray = array();

    foreach ($array['test2'] as $arrayRow) {
        $newarray = array_merge($newarray,$arrayRow);
    }

    $array['test2'] = $newarray;
}