我的目标是合并两个不同的阵列。
我有桌子“a”& “B”。 表“a”中的数据更具优先性。
问题:如果“a”中的某个键包含空值,我想从表“b”中取一个。
这是我的代码:
<?php
$a = array('key1'=> "key1 from prioritar", 'my_problem'=> "");
$b = array('key1'=> "key1 from LESS prioritar", 'key2'=>"key2 from LESS prioritar", 'my_problem'=> "I REACHED MY GOAL!");
$merge = array_merge($b, $a);
var_dump($merge);
有没有办法在一个函数中执行此操作而不执行类似下面的操作?
foreach($b as $key => $value)
{
if(!array_key_exists($key, $a) || empty($a[$key]) ) {
$a[$key] = $value;
}
}
答案 0 :(得分:5)
您可以使用YourPoint
和array_replace
array_filter
结果将是:
$mergedArray = array_replace($b, array_filter($a));
答案 1 :(得分:3)
只需array_filter() $a
即可删除任何''
值的项目。
$merge = array_merge($b, array_filter($a));