PHP合并数组(如果为空) [英] PHP merge array if empty

查看:116
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆