在PHP中,我经常这样写代码
isset($foo)? NULL : $foo = 'bar'在ruby中有一个很棒的捷径,叫做or equals。
foo ||= 'bar'PHP有这样的运算符、快捷方式或方法调用吗?我找不到,但我可能错过了。
发布于 2010-07-29 20:58:09
从PHP7开始,您可以使用Null Coalesce Operator
添加合并或??运算符,如果第一个操作数存在且不为
,则返回第一个操作数的结果,否则返回第二个操作数。
所以你可以这样写:
$foo = $foo ?? 'bar';如果设置为非null或将“$foo”赋值给$foo,它将使用bar。
顺便说一句,使用三元运算符给出的示例应该是:
$foo = isset($foo) ? $foo : 'bar';三元运算不是一种简写的if/else控制结构,但它应该用于根据第三个表达式在两个表达式之间进行选择,而不是选择两个语句或执行路径
发布于 2011-01-26 05:32:05
我真的很喜欢?:操作符。不幸的是,它还没有在我的生产环境中实现。所以,如果我要让它看起来像红宝石,我会选择这样的东西:
isset($foo) || $foo = 'bar';或者,如果您希望它更短(更慢,可能会产生意想不到的结果):
@$foo || $foo = 'bar';发布于 2010-07-29 21:00:25
您可以创建自己的函数:
function setIfNotSet(&$var, $value) {
if(!isset($var)) {
$var = $value;
}
}https://stackoverflow.com/questions/3362626
复制相似问题