【发布时间】:2016-01-29 13:03:05
【问题描述】:
我需要删除 1 级嵌套数组键。因为它会导致循环。如果我循环这将需要 2 个 for 循环,但我只需要一个 foreach 循环就足够了。所以我尝试了一些 PHP 数组函数但与此无关。所以我需要答案或建议。
现在我的数组值显示如下。
Array
(
[0] => Array
(
[0] => Array
(
[post_id] => 1332
[meta_value] => a:1:{i:0;s:3:"302";}
)
)
[1] => Array
(
[0] => Array
(
[post_id] => 1337
[meta_value] => a:1:{i:0;s:3:"296";}
)
[1] => Array
(
[post_id] => 1337
[meta_value] => a:1:{i:0;s:3:"302";}
)
)
)
现在我想要这样。
Array
(
[0] => Array
(
[post_id] => 1332
[meta_value] => a:1:{i:0;s:3:"302";}
)
[1] => Array
(
[post_id] => 1337
[meta_value] => a:1:{i:0;s:3:"296";}
)
[2] => Array
(
[post_id] => 1337
[meta_value] => a:1:{i:0;s:3:"302";}
)
)
提前致谢
【问题讨论】:
-
好吧,您仍然需要将这些值附加到其他数组。首先有 2 个不同的数组需要合并。所以结构发生了变化。您可能无法避开额外的 for 循环和 foreach 子句。
-
第一个猜测 - 在第一个
foreach ($arr as $key => $val)中使用array_pop($val)应该可以。 -
如果没有额外的维度,那么
$whatYouWant = call_user_func_array('array_merge', $yourArray);