Content

Perl中的真与假深入研究(perl defined)奔走相告

文章摘要

这篇文章讨论了PHP中变量类型的布尔值转换规则。在PHP中,变量的布尔值转换遵循特定规则:**非零整数和非空字符串被视为true**,而**零、空字符串、"0"和其他空值被视为false**。此外,字符串"0.00"会被视为true,因为其内容不为空且不等于"0"。数字0无论以整数还是浮点数形式出现,都会被强制转换为false。函数如`undef()`返回未定义值时也会被视为false。变量引用即使引用的值为false,也会被保留为true。

0           # 将转换为字符串”0″,所以为false 

1           # 将转换为字符串”1″,所以为true 

100 – 100   # 100-100等于0,这将转换为字符串”0″,所以为false 

0.00        # 等于0,将转换为字符串”0″,所以为false 

“0”         # 字符串”0″,所以为false 

“”          # 这是空串,所以为false 

“0.00”      # 即不是””,也不是”0″,所以为true 

“0.00” + 0  # 由+强制转换,计算结果为0,所以为false 

\$a         # 标量$a的引用,所以为true,即使$a为false也是如此。 

undef()     # 是一个返回未定义值的函数,所以为false