2015-04-07 33 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,只是不是你想要的 –