如果键不存在,则为默认数组值? [英] Default array values if key doesn't exist?
问题描述
如果我有一个充满信息的数组,有什么办法可以使默认值(如果键不存在)返回值?
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屋!