Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 如果在两个数组之间传递空白数组,则数组\u merge\u recursive不起作用_Php_Arrays_Laravel_Array Merge - Fatal编程技术网

Php 如果在两个数组之间传递空白数组,则数组\u merge\u recursive不起作用

Php 如果在两个数组之间传递空白数组,则数组\u merge\u recursive不起作用,php,arrays,laravel,array-merge,Php,Arrays,Laravel,Array Merge,我使用array\u merge\u recursive来递归地合并数组。假设我有以下数组 $arr1,$arr2,$arr3 我使用array\u merge\u recursive递归地合并这些数组 array_merge_recursive($arr1,$arr2,$arr3); 如果所有数组都有值或不是空的,那么它工作正常。如果$arr2为空,则它将停止工作 提前感谢@Kapil Verma: 我现在和你有同样的问题。 我有一个db查询,每个查询的输出都放在一个数组中,有些查询不生成

我使用array\u merge\u recursive来递归地合并数组。假设我有以下数组

$arr1,$arr2,$arr3
我使用array\u merge\u recursive递归地合并这些数组

array_merge_recursive($arr1,$arr2,$arr3);
如果所有数组都有值或不是空的,那么它工作正常。如果$arr2为空,则它将停止工作

提前感谢

@Kapil Verma: 我现在和你有同样的问题。 我有一个db查询,每个查询的输出都放在一个数组中,有些查询不生成任何数据。 我在米兰的评论中找到了解决办法。 在使用“$arr2=[];”填充查询中的数据之前,只需定义数组 在本例中,您始终拥有一个用于此函数的现有数组。
所以从一开始的问题就不是,数组是空的,它实际上并不存在。

您必须通过is\u数组检查变量,因为空字符串和空数组之间存在差异

$array = array('arr1','arr2','arr3');
$array2 = array();
foreach($array as $a)
{
    if(!is_array($a))  ${$a} = array('');   
}
array_merge_recursive($arr1,$arr2,$arr3);

从某种意义上说是空白的,空数组?或者,
$arr2
不是数组?您确定所有这些都是实际的数组,是空的还是其他的?空白的意思是$arr2是空的。@JohnSmith是
$arr2=''
$arr2=[]
?@JohnSmith-你所说的“blank”是什么意思?blank在PHP(甚至在英语中)中没有特别的含义,它太模糊了。。。。执行$arr2的var_转储并向我们显示结果