2015-04-07 82 views
0
<?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在那里。PHP三元运算符不工作,但不显示任何错误

它适用于正常的if-else,但不适用于三元运算符。它不会继续到print,但它也不会显示任何错误。

我错过了什么?

+1

你有一个错字,你需要用'完成你的发言:)注意点;',不能用点。 – jeroen

+1

我的小指短小。 :p – silver

回答

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); 
+0

哦,哎呀。我想知道为什么Eclipse没有说什么? – silver

+2

Eclipse没有说什么,因为它完全合法PHP,只是不是你想要的 –