php中怎么区别false与0_PHP教程
首先看代码:
本代码的功能是查找一个字符串中是否以某个词语开头
代码如下 | 复制代码 |
$title = "Hello world."; $keyword = "you"; if(strpos($title , $keyword ) == 0) { echo "正确"; } else { echo "错误"; } 输出:正确 |
好像代码没错啊?为什么结果错了?查看帮助手册看到strpos()函数在字符串中查找词语的时候,如果存在该词语则返回该词语的索引位置,否则返回false,于是把代码做如下修改。
代码如下 | 复制代码 |
if(strpos($title , $keyword ) == 0) { echo "正确"; } else if(strpos($title , $keyword ) == false) { echo "错误"; } 输出:正确 |
怎么又是错的?原来PHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?其实很简单,把代码再修改一下:
代码如下 | 复制代码 |
if(strpos($title , $keyword ) === 0) { echo "正确"; } else if(strpos($title , $keyword ) === false) { echo "错误"; } 输出:错误 |
例
代码如下 | 复制代码 |
/* |
很多时候false也等于0,当我们要返回的值中含有0的时候,例如对数字的查询就要注意了,可以用===来判断是否完全相等,
PHP 有一个 gettype() 函数,得到变量的类型。可以使用 === 运算符(看好了,有三个等号)。和 == 运算符 的区别在于该运算符同时比较数据的值和类型。
当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的。
上一篇: jpush定时任务推送成功怎么判断
下一篇: 求PHP编程经典书籍
推荐阅读
-
PHP中isset与array_key_exists的区别实例分析_PHP教程
-
php字符串中的双引号与单引号区别_PHP教程
-
深入分析php中接口与抽象类的区别_PHP教程
-
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别_PHP教程
-
php中$_GET,$_POST,$_REQUEST用法与区别分析_PHP教程
-
浅析PHP中的i++与++i的区别及效率,浅析php_PHP教程
-
php中++i 与 i++ 的区别_PHP教程
-
php中define()与const的区别详解_PHP教程
-
php中is_file和file_exists与is_dir的区别_PHP教程
-
PHP中isset与array_key_exists的区别实例分析,_PHP教程