Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如果_Php - Fatal编程技术网

PHP-如果

PHP-如果,php,Php,在PHP中有没有更漂亮的方法 $a = isset($a) ? $a : $b; 在Python中,我将执行以下操作: a = a or b 从5.3开始,您可以执行以下操作: $a = isset($a) ?: $b; 编辑 如评论中所述-这实际上会使$a等于true(由于isset),而不是$a的值。如果您使用的是php>=5.3,您可以做得更漂亮一点: $a = isset($a) ?: $b; 编辑: 在这种情况下,isset($a)是一个问题,因为如果isset($a)返回tr

在PHP中有没有更漂亮的方法

$a = isset($a) ? $a : $b;
在Python中,我将执行以下操作:

a = a or b
从5.3开始,您可以执行以下操作:

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


如评论中所述-这实际上会使
$a
等于true(由于
isset
),而不是
$a

的值。如果您使用的是php>=5.3,您可以做得更漂亮一点:

$a = isset($a) ?: $b;
编辑: 在这种情况下,
isset($a)
是一个问题,因为如果
isset($a)
返回
true
,那么
$a
将设置为
true
。你可以考虑把它改为

$a = isset($a) ?: $b;
但是要小心,如果
$a==false | |$a==0
,那么
$a
将被设置为
$b
不,没有


PHP开发人员已经讨论过将其作为未来版本的一个可能功能,但被拒绝了。

否。这是语法。我试图找到类似于
a=a或b
,但两者都没有找到。你想做什么?我不明白为什么你的问题被否决。如果存在,这会将
$a
设置为true。如果存在,这会将$a设置为true。啊。good catch@Dogbert我专注于使语法更简洁,实际上忽略了它会做什么!好的,谢谢你。