2012-03-19 102 views
5

這不是很重要,但我只是好奇地知道它們之間的區別。返回真正的輸出1但返回假輸出什麼都沒有

echo isA("A"); //outputs 1 

echo isA("B"); //outputs nothing. why doesn't it output 0? 

任何人都可以對這件事情有所瞭解嗎?從「真」輸出爲「1」但「假」不輸出「0」的角度來看,它在我看來似乎是雙重標準。

再次,沒有什麼大不了的,但我認爲必須有這樣設計PHP的原因。知道這可能會讓人更深入地瞭解這種美麗的語言。

一個真正的值將表現爲一個可見的1,但是一個錯誤的值不會。那麼,告訴我這種方法的優點是什麼?

上面提到的示例函數;

function isA($input){ 
    if ($input == "A"): 
     return true; 
    else: 
     return false; 
    endif; 
} 
+0

美麗的語言?不同意(但我也是PHP程序員):P – 2012-03-19 02:28:41

+2

@MuhammadAbrar:美與此無關。 – netcoder 2012-03-19 02:36:21

回答

5

因爲當false被強制轉換爲字符串變成'' - 空字符串。

要查看的差使用var_dump();代替echo

var_dump((string) true); 
var_dump((string) false);