我喜欢在Perl中做这种事情:如果$bar
是空的或未定义的,则将$baz
赋值给$foo
.还有$foo ||= $bletch
,如果$foo
没有定义或为空,那么它只会将$bletch
分配给$foo
.
这种情况下的三元运算符是单调乏味的.在PHP中肯定有一种简单、优雅的方法可用?
或者,唯一的答案是使用isset()的自定义函数吗?
我喜欢在Perl中做这种事情:如果$bar
是空的或未定义的,则将$baz
赋值给$foo
.还有$foo ||= $bletch
,如果$foo
没有定义或为空,那么它只会将$bletch
分配给$foo
.
这种情况下的三元运算符是单调乏味的.在PHP中肯定有一种简单、优雅的方法可用?
或者,唯一的答案是使用isset()的自定义函数吗?
在PHP7中,我们终于有了一种优雅的方法.它被称为Null coalescing operator.你可以这样使用它:
$name = $_GET['name'] ?? 'john doe';
这相当于
$name = isset($_GET['name']) ? $_GET['name']:'john doe';