答案 0 :(得分:1)
使用array_merge
(doc)和...
(将数组拆分为单独的数组):
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的角度来看),它将失败。
答案 2 :(得分:0)
如果有数组,则可以使用以下代码
if(!empty($array['test2'])){
$newarray = array();
foreach ($array['test2'] as $arrayRow) {
$newarray = array_merge($newarray,$arrayRow);
}
$array['test2'] = $newarray;
}