我正在尝试做一个简单的条件检查:
$test = 1;
$test_ = $test==-1?"Test--1":$test==1?"Test-1":$test==0?"Test-0":"Test";
echo $test_;
输出为Test-0
,但必须为Test-1
。
哪个可能是问题?
答案 0 :(得分:3)
试试这个:为条件添加括号。
$test = 1;
$test_ = ($test==-1)?"Test--1":($test==1?"Test-1":($test==0?"Test-0":"Test"));
echo $test_;
输出:
Test-1
答案 1 :(得分: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
答案 2 :(得分:0)
PHP中的三元运算符是从左到右,因此,它的执行方式如下:
$test_ = (( ( $test==-1 ? "Test--1" :$test==1) ? "Test-1":$test==0)?"Test-0":"Test");