php – 如果密钥不存在,则设置关联数组的默认值的函数

前端之家收集整理的这篇文章主要介绍了php – 如果密钥不存在,则设置关联数组的默认值的函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP中是否有一个函数来设置变量的默认值(如果未设置)?
一些内置函数来替换类似的东西:
$myFruit = isset($_REQUEST['myfruit']) ? $_REQUEST['myfruit'] : "apple" ;
PHP类有一个运算符(我认为5.3),它会将你的例子压缩为:
$myFruit = $_REQUEST['myfruit'] ?: "apple";

但是,我说“有点”,因为它只测试第一个操作数是否为false,如果未设置则不会抑制通知.因此,如果(如您的示例中)可能未设置,则原始代码最佳.

类似于dictionary.get的功能很简单:

function dget($dict,$key,$default) {
    return isset($dict[$key]) ? $dict[$key] : $default;
}

为清楚起见,我仍然使用您的原始代码.

编辑:ifsetor()在http://wiki.php.net/rfc/ifsetor的userland实现#2比上面的函数更整洁,并且也适用于非数组,但是有一个警告,即使它没有被使用,也会始终评估默认表达式:

function ifsetor(&$variable,$default = null) {
    if (isset($variable)) {
        $tmp = $variable;
    } else {
        $tmp = $default;
    }
    return $tmp;
}
原文链接:https://www.f2er.com/php/240046.html

猜你在找的PHP相关文章