在Perl中,如果我想默认一个可能存在的值,例如作为传入的参数,我可以这样做:
$var = parm->('variable') || 'default';
Run Code Online (Sandbox Code Playgroud)
在PHP中是否有类似的东西,或者我必须在分配后检查值,如果它仍为空,则为其分配默认值?
Pet*_*ley 10
不完全是.
PHP 5.3引入了他们所谓的"三元捷径".
// old way
$foo = $foo ? $foo : 'default';
// new way in 5.3
$foo = $foo ?: 'default';
Run Code Online (Sandbox Code Playgroud)
这甚至不是那么多的快捷方式,只能处理短路的值(如果此快捷方式0的有效值$foo将失败.)
否则你将不得不进行类型/存在检查旧的,硬的,手动的方式.
您还可以为签名中的参数指定默认值 - 不确定这是否与您所获得的完全相同,但这是在行动中
function foo( $bar = 'baz' )
{
echo $bar;
}
foo(); // baz
Run Code Online (Sandbox Code Playgroud)