PHP - 更漂亮的单行如果

时间:2013-05-08 10:57:37

标签: php

在PHP中有更好的方法吗?

$a = isset($a) ? $a : $b;

在Python中我会做类似的事情:

a = a or b

3 个答案:

答案 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

的值