我正在尝试进行简单的条件检查,例如:
$test = 1;
$test_ = $test==-1?"Test--1":$test==1?"Test-1":$test==0?"Test-0":"Test";
echo $test_;
输出是Test-0
但必须是Test-1
。
哪个可能是问题?
我正在尝试进行简单的条件检查,例如:
$test = 1;
$test_ = $test==-1?"Test--1":$test==1?"Test-1":$test==0?"Test-0":"Test";
echo $test_;
输出是Test-0
但必须是Test-1
。
哪个可能是问题?
试试这个:为条件加上括号。
$test = 1;
$test_ = ($test==-1)?"Test--1":($test==1?"Test-1":($test==0?"Test-0":"Test"));
echo $test_;
输出 :
Test-1
改变这个
$test_ = $test==-1?"Test--1":$test==1?"Test-1":$test==0?"Test-0":"Test";
到
$test_ = $test==-1?"Test--1":($test==1?"Test-1":($test==0?"Test-0":"Test"));
// output Test-1
PHP中的三元运算符是从左到右的,因此,它的执行方式如下:
$test_ = (( ( $test==-1 ? "Test--1" :$test==1) ? "Test-1":$test==0)?"Test-0":"Test");