为什么php三元运算符输出错误?

时间:2017-01-01 08:52:34

标签: php ternary-operator php-7 php-5.6

  

我已经看过线程PHP ternary operator error

我已经看到了上面提到的线程并使用了括号,但仍然没有给出预期的输出。

<?php
    $ch = 'A';
    $ans = (($ch == 'C') ? 'Cccc'
        : ($ch == 'A') ? 'Aaaa'
        : ($ch == 'G') ? 'Ggggg'
        : ($ch == 'Y') ? 'Yyyyy'
        : 'unknown');
    echo $ans;
    echo "\n";
?>

按预期输出Yyyyy而非Aaaa。任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分:1)

牙套没有正确放置。试试这个

$ch = 'A';
    $ans = ($ch == 'C' ? 'Cccc' :
         ($ch == 'A' ? 'Aaaa' :
         ($ch == 'G' ? 'Ggggg' : 
         ($ch == 'Y' ? 'Yyyyy':
         'unknown'))));
    echo $ans;
    echo "\n";