PHP中是否有一个函数来设置变量的默认值(如果未设置)?
一些内置函数来替换类似的东西:
一些内置函数来替换类似的东西:
$myFruit = isset($_REQUEST['myfruit']) ? $_REQUEST['myfruit'] : "apple" ;
PHP类有一个运算符(我认为5.3),它会将你的例子压缩为:
原文链接:https://www.f2er.com/php/240046.html$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; }