Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何合并阵列的项目?_Php_Arrays_Function - Fatal编程技术网

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也不适合代码审查。在提出这些建议之前,请先看看他们的意见。