php中值等同于false,php中怎么区别false与0

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() 函数,得到变量的类型。可以使用 === 运算符(看好了,有三个等号)。和 == 运算符 的区别在于该运算符同时比较数据的值和类型。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值