0

if (0)总是返回false。并且if(false)还返回false。我无法理解这些区别。在这两种情况下,如果返回,实际上会怎样?它是NULL还是其他什么?

4

2 回答 2

3

false布尔值0整数NULL表示没有值的变量。

if构造中

    if( expression ) statement;

if期望表达式boolean,因此integer 0的计算结果为boolean false

更多信息 :

如果运算符、函数或控制结构需要布尔参数,则大多数情况下会自动转换值。

转换为布尔值时,以下值被视为FALSE

其他所有值都被视为TRUE(包括任何资源)。

有关更多信息,请查看布尔值。

于 2013-10-22T08:48:20.463 回答
0

想象一下,您确实[0, null, false, "", array(), etc]与现有的东西或非空的东西进行比较。

PHP 不是强类型语言。非严格比较 (==) 时的 false 如下所示:

0苹果 那不是苹果false (has apples more then 0? No)

array()- false (set is not empty? No)

""-false (has string symbols? No)

于 2013-10-22T08:59:40.837 回答