Php 如何合并阵列的项目?
我有这样一个数组:Php 如何合并阵列的项目?,php,arrays,function,Php,Arrays,Function,我有这样一个数组: $arr = array ( [0] => array("red","green"), [1] => array("blue","yellow") ); $res = []; foreach ( $arr as $item ) { $res = array_merge($res, $item); } 这是预期的结果: Array ( [0] => red [1] => green [2
$arr = array ( [0] => array("red","green"),
[1] => array("blue","yellow")
);
$res = [];
foreach ( $arr as $item ) {
$res = array_merge($res, $item);
}
这是预期的结果:
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
看到了吗?我想合并$arr的所有项目,这些项目本身也是数组。我该怎么做
我可以在上面做一个循环,然后每次都像这样使用array\u merge:
$arr = array ( [0] => array("red","green"),
[1] => array("blue","yellow")
);
$res = [];
foreach ( $arr as $item ) {
$res = array_merge($res, $item);
}
。但我想我可以写得更好。有什么想法吗 您以错误的方式声明数组:
$arr = array ( 0 => array("red","green"),
1 => array("blue","yellow")
);
PHP报告的错误清楚地表明:
Fatal error: Illegal offset type in /in/Hhfqa on line 3
示例中的第3行正好是第一个数组元素的第1行
请检查这是一个风格练习,但如果结构与示例中的结构相同,您可以使用以下方法:
$arr = array ( '0' => array("red","green"),
'1' => array("blue","yellow")
);
$res = explode(",",str_replace(array('[',']'),'',json_encode($arr)));
希望这有帮助。您可以使用call\u user\u func\u数组完成以下操作:
这个技巧是可能的,因为数组合并接受动态参数计数。Post可能最适合于代码审查。绝对不是SO@DarylGill也不适合代码审查。在提出这些建议之前,请先看看他们的意见。