我正在使用array_merge_recursive以递归方式合并数组。假设我有以下数组。
$arr1,$arr2,$arr3
我正在使用array_merge_recursive以递归方式合并这些数组。
array_merge_recursive($arr1,$arr2,$arr3);
如果所有数组都有值或不为空,那么它的工作正常。如果$ arr2为空白,则它将停止工作。
提前致谢
答案 0 :(得分:0)
@Kapil Verma: 我和你现在有同样的问题。 我有一个db查询,其输出被放置到每个查询的数组中,并且一些查询不生成任何数据。 我在Thamilan的评论中找到了解决方案。 在尝试使用“$ arr2 = [];”查询中的数据填充数组之前,只需定义数组。 在这种情况下,您始终拥有一个适用于此功能的现有数组。 所以问题从一开始就不是,数组是空的,它确实不存在。
答案 1 :(得分:0)
您必须通过is_array检查变量,因为我们在空字符串和空白数组之间存在差异。
$array = array('arr1','arr2','arr3');
$array2 = array();
foreach($array as $a)
{
if(!is_array($a)) ${$a} = array('');
}
array_merge_recursive($arr1,$arr2,$arr3);