作者:梦亦碎i | 来源:互联网 | 2017-05-13 02:31
php中怎么区别false与0。PHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?这在有些条件语句中就很有用了,本文将举例说明。首先看代码:
PHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?这在有些条件语句中就很有用了,本文将举例说明。
首先看代码:
本代码的功能是查找一个字符串中是否以某个词语开头
代码如下 |
|
$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 "错误";
}
输出:错误
|
例
代码如下 |
|
/*
* 测试boolean
* 0 false
*/
$num = 0;
$bTest1 = false;
$bTest2 = true;
$strTest2 = 'false';
if($num == $bTest1)
{
echo ('数字0与false是可以相等的');//显示
echo (" ");
}
if($bTest1)
{
echo('永不执行啊 ');//不显示
}
if(1)
{
echo('会执行吗, ');//执行
}
if($bTest2)
{
echo('我是老大我要执行 ');//执行
}
else{
echo('不要的都归我了哦 ');
}
echo (false == 0);//显示1 表示相等
echo (true == 1);//显示1 表示相等
function testReturn ()
{
echo('aaaaa');
return;
return 'bbbb';
echo('cccc');
}
//return 表示该函数的返回就是执行到这下面的都将不执行了,exit是推出程序
echo testReturn();//调用该函数 将输出 ‘aaaa' ’bbbbb'
?>
|
很多时候false也等于0,当我们要返回的值中含有0的时候,例如对数字的查询就要注意了,可以用===来判断是否完全相等,
PHP 有一个 gettype() 函数,得到变量的类型。可以使用 === 运算符(看好了,有三个等号)。和 == 运算符 的区别在于该运算符同时比较数据的值和类型。
当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的。
http://www.bkjia.com/PHPjc/628991.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628991.htmlTechArticlePHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?这在有些条件语句中就很有用了,本文将举例说明。 首先看代码:...