在PHP中有更好的方法吗?
$a = isset($a) ? $a : $b;
在Python中我会做类似的事情:
a = a or b
答案 0 :(得分:2)
没有。
PHP开发人员已经讨论过它作为未来版本的一个可能特征 - See here - 但已被拒绝。
答案 1 :(得分:1)
如果你使用的是php> = 5.3,你可以做得更漂亮一点:
$a = isset($a) ?: $b;
修改强>:
在这种情况下,isset($a)
是个问题,因为如果isset($a)
返回true
,则$a
将设置为true
。您可以考虑将其更改为
$a = isset($a) ?: $b;
但请注意$a == false || $a == 0
然后将$a
设置为$b
答案 2 :(得分:0)
自5.3以来你可以做到:
$a = isset($a) ?: $b;
修改强>
如评论中所述 - 这实际上会使$a
等于true(由于isset
而不是$a