php中怎么区别false与0
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-17 14:37:51 浏览: 评论: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 "错误";
 - }
 
输出:错误
实例代码如下:
- <?php
 - /*
 - * 测试boolean
 - * 0 false
 - */
 - $num = 0;
 - $bTest1 = false;
 - $bTest2 = true;
 - $strTest2 = 'false';
 - if($num == $bTest1)
 - {
 - echo ('数字0与false是可以相等的');//显示
 - echo ("<br/>");
 - }
 - if($bTest1)
 - {
 - echo('永不执行啊<br/>');//不显示
 - }
 - if(1)
 - {
 - echo('会执行吗,<br/>');//执行
 - }
 - if($bTest2)
 - {
 - echo('我是老大我要执行<br/>');//执行
 - }
 - else{
 - echo('不要的都归我了哦<br/>');
 - }
 - 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() 函数,得到变量的类型.可以使用 === 运算符(看好了,有三个等号).和 == 运算符 的区别在于该运算符同时比较数据的值和类型.
当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的.
Tags: strpos
相关文章
- ·php strstr、stristr、strpos函数比较(2014-03-25)
 - ·php中STRPOS查找失败返回的是FALSE注意事项(2015-04-13)
 - ·php通过strpos查找字符串出现位置的方法(2021-05-16)
 
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
 - PHP新手上路(一)(7)
 - 惹恼程序员的十件事(5)
 - PHP邮件发送例子,已测试成功(5)
 - 致初学者:PHP比ASP优秀的七个理由(4)
 - PHP会被淘汰吗?(4)
 - PHP新手上路(四)(4)
 - 如何去学习PHP?(2)
 - 简单入门级php分页代码(2)
 - php中邮箱email 电话等格式的验证(2)
 
