PHP中是否有一个函数来设置变量的默认值(如果未设置)?一些内置函数来替换类似的东西:
$myFruit = isset($_REQUEST['myfruit']) ? $_REQUEST['myfruit'] : "apple" ;
Run Code Online (Sandbox Code Playgroud)
PHP类有一个运算符(我认为5.3),它会将你的例子压缩为:
$myFruit = $_REQUEST['myfruit'] ?: "apple";
Run Code Online (Sandbox Code Playgroud)
但是,我说"有点",因为它只测试第一个操作数是否为false,如果未设置则不会抑制通知.因此,如果(如您的示例中)可能未设置,则原始代码最佳.
类似于dictionary.get的功能很简单:
function dget($dict, $key, $default) {
return isset($dict[$key]) ? $dict[$key] : $default;
}
Run Code Online (Sandbox Code Playgroud)
为清楚起见,我仍然使用您的原始代码.
编辑:http ://wiki.php.net/rfc/ifsetor上ifsetor()的userland实现#2 比上面的函数更整洁,并且也适用于非数组,但是与默认表达式有相同的警告即使没有使用,也会一直评估:
function ifsetor(&$variable, $default = null) {
if (isset($variable)) {
$tmp = $variable;
} else {
$tmp = $default;
}
return $tmp;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6223 次 |
| 最近记录: |