首页 > php教程 > php手册 > 正文

php中怎么区别false与0

WBOY
发布: 2016-05-25 16:47:24
原创
1788 人浏览过

PHP中当变量为0时,该变量同时也就•等于•false,那么如何区别0和false?这在有些条件语句中就很有用了,本文将举例说明.

首先看代码,本代码的功能是查找一个字符串中是否以某个词语开头

实例代码如下:

<?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 "错误"; 
}
登录后复制

输出:错误

实例代码如下:

<?php
/*
 * 测试boolean
 * 0 false
*/
$num = 0;
$bTest1 = false;
$bTest2 = true;
$strTest2 = &#39;false&#39;;
if ($num == $bTest1) {
    echo (&#39;数字0与false是可以相等的&#39;); //显示
    echo ("<br/>");
}
if ($bTest1) {
    echo (&#39;永不执行啊<br/>&#39;); //不显示
    
}
if (1) {
    echo (&#39;会执行吗,<br/>&#39;); //执行
    
}
if ($bTest2) {
    echo (&#39;我是老大我要执行<br/>&#39;); //执行
    
} else {
    echo (&#39;不要的都归我了哦<br/>&#39;);
}
echo (false == 0); //显示1 表示相等
echo (true == 1); //显示1 表示相等
function testReturn() {
    echo (&#39;aaaaa&#39;);
    return;
    return &#39;bbbb&#39;;
    echo (&#39;cccc&#39;);
}
//return 表示该函数的返回就是执行到这下面的都将不执行了,exit是推出程序
echo testReturn(); //调用该函数 将输出 &#39;aaaa&#39; &#39;bbbbb&#39;
?>
登录后复制

很多时候false也等于0,当我们要返回的值中含有0的时候,例如对数字的查询就要注意了,可以用===来判断是否完全相等,

PHP 有一个 gettype() 函数,得到变量的类型.可以使用 === 运算符(看好了,有三个等号).和 == 运算符 的区别在于该运算符同时比较数据的值和类型.

当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的.


本文地址:

转载随意,但请附上文章地址:-)

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!