如果键不存在,则为默认数组值? [英] Default array values if key doesn't exist?

查看:159
本文介绍了如果键不存在,则为默认数组值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个充满信息的数组,有什么办法可以使默认值(如果键不存在)返回值?

If I have an array full of information, is there any way I can a default for values to be returned if the key doesn't exist?

function items() {
    return array(
        'one' => array(
              'a' => 1,
              'b' => 2,
              'c' => 3,
              'd' => 4,
         ),
         'two' => array(
              'a' => 1,
              'b' => 2,
              'c' => 3,
              'd' => 4,
         ),
         'three' => array(
              'a' => 1,
              'b' => 2,
              'c' => 3,
              'd' => 4,
         ),
    );
}

在我的代码中

$items = items();
echo $items['one']['a']; // 1

但是,如果我提供了一个不存在的键,我可以返回默认值吗?

But can I have a default value to be returned if I give a key that doesn't exist like,

$items = items();
echo $items['four']['a']; // DOESN'T EXIST RETURN DEFAULT OF 99

推荐答案

我知道这是一个老问题,但是我在Google搜索"php array default values"时就把我带到了这里,我以为我会发布解决方案,我是寻找,可能会帮助别人.

I know this is an old question, but my Google search for "php array default values" took me here, and I thought I would post the solution I was looking for, chances are it might help someone else.

我想要一个带有默认选项值的数组,该选项值可以被自定义值覆盖.我最终使用了 array_merge .

I wanted an array with default option values that could be overridden by custom values. I ended up using array_merge.

示例:

<?php
    $defaultOptions = array("color" => "red", "size" => 5, "text" => "Default text");
    $customOptions = array("color" => "blue", "text" => "Custom text");
    $options = array_merge($defaultOptions, $customOptions);
    print_r($options);
?>

输出:

Array
(
    [color] => blue
    [size] => 5
    [text] => Custom text
)

这篇关于如果键不存在,则为默认数组值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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