PHP 中 布尔值 false 和整型值 0 【转】

来源:互联网 发布:淘宝客恶意刷佣金 编辑:程序博客网 时间:2024/06/06 00:05

 

需要测试一下某个字符是否在另一个字符串中的位置是否是第0个
用的是strpos() 函数
注:

strpos() 函数返回字符串在另一个字符串中第一次出现的位置。

如果没有找到该字符串,则返回 false。

 

如果某个字符是第一个,则返回此字符位置0,而如果此字符不存在返回的是false!

 

所以就有了以下内容:

 

PHP 是类型宽松的语言,这意味着会 将布尔值 false 和整型值 0 视为相同(甚至 c 也把 0 和 false 视为等价)。可以使用一下脚本来确定 0 与布尔值 false 的等价性:
 
 
 
输出:yes
 
_________________________________________________________________________________
 
 
 
输出:yes
 
_________________________________________________________________
 
问题来了,布尔值 false 和整型值 0 明显是不同的。
 
 
PHP 有一个 gettype() 函数,得到变量的类型。可以使用 === 运算符(看好了,有三个等号)。和 == 运算符 的区别在于该运算符同时比较数据的值和类型。
 
当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的