如果替换为null /空,是否可以合并两个数组而不替换元素?
按如下所示使用array_merge
,将没有数据的项目替换为空:
$ original_array:(合并前)
Array (
[test1] => Test 1
[test2] => Test 2
)
$ new_array:(合并后)
Array (
[test1] => Test 1
[test2] =>
)
使用foreach
并用条件重建数组是唯一的选择吗?
我想发生的事情的示例:
如果合并时'test2'为空,则$ original_array ['test2']项目将保留为'Test 2'值。
如果合并时'test2'不为空,则将使用$ new_array ['test2']项目。
答案 0 :(得分:2)
如果您使用array_filter()
-这将删除所有 empty 元素,然后合并结果...
array_merge($a1, array_filter($a2))
唯一的问题是array_filter()
还将删除0和''
元素,因此您可能要更具体地处理它...
print_r(array_merge($a1,
array_filter($a2, function($data) {
return $data !== null ;
}
)));