2012-03-19 100 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);