【发布时间】:2011-08-23 18:30:39
【问题描述】:
我喜欢在 Perl 中做这样的事情:如果 $bar 为空或未定义,$foo = $bar || $baz 将 $baz 分配给 $foo。您还有$foo ||= $bletch,它只会在$foo 未定义或为空时将$bletch 分配给$foo。
这种情况下的三元运算符既乏味又令人厌烦。 PHP 中肯定有一个简单、优雅的方法吗?
或者唯一的答案是使用 isset() 的自定义函数?
【问题讨论】:
-
顺便说一句,具有所需功能的 Perl 运算符是
//和//=,它们从 Perl v5.10.0 开始存在。原始的||和||=测试逻辑值,而不是定义性。 -
@Palec,为什么一个 4 年有 29 个赞的问题会被识别为一个 1 年有 6 个赞的问题的副本(它本身被标记为另一个问题的副本?)我认为保留这个问题很有价值,因为标题更通用(没有引用答案,即:isset())。
-
它们是清晰准确的重复。它承认我没有想太多应该是原始的,我正处于其他事情的中间,在两者之间建立联系是目标。收回我的 VTC。
-
完全重复,标记(IMO 错误)为另一个问题的重复:PHP shorthand for isset()?
标签: php perl operators default-value