PHP三元运算符不工作但不显示任何错误

时间:2015-04-07 08:32:41

标签: php ternary-operator

<?php
    /*if(isset($_COOKIE["telcoProvider"])) {
        $telcoProvider = $_COOKIE["telcoProvider"];

    } else {
        $telcoProvider = "NOT FOUND";
    }*/

    $telcoProvider = isset($_COOKIE["telcoProvider"]) ? $_COOKIE["telcoProvider"] : "NOT FOUND".

    print "<p>Your telecommunication company is <b>$telcoProvider.</b></p>";
?>

我已经检查了浏览器,Cookie就在那里。

它适用于普通的if-else,但不适用于三元运算符。它没有进入print,但它也没有显示任何错误。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

$telcoProvider = isset($_COOKIE["telcoProvider"]) ?
 $_COOKIE["telcoProvider"] : "NOT FOUND".
                                        ^

(.)而不是;做什么?

  

我想知道为什么Eclipse没有说什么?

试试这个,你会得到这个问题的答案:)注意print

之前的点
$test= 1==1? "Oh nice no print :P " : "Oh" . print("Really?");
var_dump($test);