-1

我正在尝试进行简单的条件检查,例如:

$test = 1;
$test_ = $test==-1?"Test--1":$test==1?"Test-1":$test==0?"Test-0":"Test";
echo $test_;

输出是Test-0但必须是Test-1

哪个可能是问题?

4

3 回答 3

3

试试这个:为条件加上括号。

$test = 1;
$test_ = ($test==-1)?"Test--1":($test==1?"Test-1":($test==0?"Test-0":"Test"));
echo $test_;

输出 :

Test-1
于 2013-03-04T11:53:41.923 回答
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"));

工作示例http://viper-7.com/msuCyk

// output Test-1
于 2013-03-04T11:53:16.777 回答
0

PHP中的三元运算符是从左到右的,因此,它的执行方式如下:

$test_ = (( ( $test==-1 ? "Test--1" :$test==1) ? "Test-1":$test==0)?"Test-0":"Test");
于 2013-03-04T11:58:22.700 回答