-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

Ternary operator in PHP is left to right, therefore, its executed like this:

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