有没有一种很好的方法可以在 PHP 中合并两个数组。
我的 $defaults
-array 包含默认值。如果$properties
-array 包含一个空字符串我想使用来自 $defaults
的值-大批。
到目前为止,我的代码如下所示:
$defaults = array(
'src' => site_url() . '/facebook_share.png',
'alt' => 'Facebook',
'title' => 'Share',
'misc' => '',
);
$properties = array(
'src' => '',
'alt' => '',
'title' => 'Facebook Share',
'text' => 'FB Text', //further properties
);
$arr = array_merge( $defaults, $properties);
var_dump($arr);
当前结果:
$arr = array(
'src' => '',
'alt' => '',
'title' => 'Facebook Share',
'text' => 'FB Text',
'misc' => '',
);
预期结果:
$arr = array(
'src' => site_url() . '/facebook_share.png',
'alt' => 'Facebook',
'title' => 'Facebook Share',
'text' => 'FB Text',
'misc' => '',
);
希望有人能帮忙。
最佳答案
过滤掉空的然后合并:
$arr = array_merge($defaults, array_filter($properties));
请记住,array_filter
将过滤掉空字符串的元素 ''
, 0
, null
, false
.
关于PHP合并数组如果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762681/