PHP合并数组(如果为空) [英] PHP merge array if empty
本文介绍了PHP合并数组(如果为空)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有一种很好的方法来合并PHP中的两个数组.
Is there a nice way to merge two arrays in PHP.
我的 $ defaults
数组包含默认值.如果 $ properties
-array包含一个空字符串,我想使用 $ defaults
-array中的值.
My $defaults
-array contains default values. If the $properties
-array contains an empty string I want to use the value from the $defaults
-array.
到目前为止,我的代码如下:
My code so far looks as following:
$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' => '',
);
希望有人可以提供帮助.
Hope someone can help.
推荐答案
过滤出容器并合并:
$arr = array_merge($defaults, array_filter($properties));
请记住, array_filter
将过滤掉空字符串''
, 0
, null
的元素, false
.
Keep in mind that array_filter
will filter out elements that are empty string ''
, 0
, null
, false
.
这篇关于PHP合并数组(如果为空)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文