php通过各种函数判断0和空


Posted in PHP onJuly 04, 2020

函数对0的判断

$cast_id = 0;
  var_dump(strlen($cast_id)); //1
  var_dump(empty($cast_id)); // true
  var_dump(isset($cast_id)); //true
  var_dump(is_null($cast_id));//false

对空的判断

$cast_id = "";
  var_dump(strlen($cast_id)); //0
  var_dump(empty($cast_id)); // true
  var_dump(isset($cast_id)); //true
  var_dump(is_null($cast_id));//false

补充:下面给大家介绍下php 语法里0不等于null为空的解决办法

今天遇到这样一个问题是这样的: php 语句里,我想判断一个值大于等于0. 我是使用 ($value !=null && $value >=0), 返回的结果为空,这点真的好奇怪。

实验总结:

php 语句如下:

$index=0;
echo "A: ".$index."<br>"; //0
echo "B: ".($index !=null && $index >=0)."<br>";//
echo "C: ".(isset($index) && $index >=0)."<br>";//1
echo "D: ".(0 !=null)."<br>";//

结果:

A: 0
B:
C: 1
 D: 

要判断一个数值[该数组可能为空等]大于等于0, 可用另外一个方法:  is_numeric($index) === true

$index=array_search($url, $contentOtherStr, true);
 //值大于等于0, 即存在
if(is_numeric($index) === true)
 {
echo "$url existed. "."<br>";
 }else{
echo "$url Add. "."<br>";
array_push($contentOtherStr, $url);
 }

这个很奇怪,终于解决了。Mark 一下。

 总结:php的语句稍有些怪异,从其它编程语言转来的同学们一定多加小心谨慎,注意惯性思维及语法差异点啊,避免陷入坑中。

其它资料:

原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchar type;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。

这一点可以用echo gettype('');echo gettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第三个为false!

另外再说下,php中

=     一个等号是赋值
==    两个等号是判断相等且只比较值,不比较类型
===   三个等号是判断值和类型都相等
!=    不等于符号,只比较值,不管类型
!==   不全等符号,比较值和类型

所以 空字符串(''),false, NULL 和 0是值相等而类型不一样

注意:

NULL是一种特殊的类型.

两种情况下为NULL

 1. $var = NULL;
 2. $var;
3.""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

PHP中区分0和空

function test()
{
  $a = 0;
  $b = '';
  $c = null;

  // 区分 0、''、null

  // 1、方法一
  if ($a !== '') {
    echo '0和null';
  } else {
    echo '空字符串';
  }

  // 2、方法二
  if ($a !== null) {
    echo '0和空字符串';
  } else {
    echo 'null';
  }

  // 3、方法三
  if (strlen($a) > 0) {
    echo '0';
  } else {
    echo '空字符串和null';
  }

  // 以上三种方法都只能把其中一个和另外两个区分出来,如果需要3个单独区分,需要结合使用
}

到此这篇关于php通过各种函数判断0和空的文章就介绍到这了,更多相关php 函数判断0和空内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
Windows下的PHP5.0详解
Nov 18 PHP
ajax缓存问题解决途径
Dec 06 PHP
PHP操作文件方法问答
Mar 16 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
PHP手机短信验证码实现流程详解
May 17 #PHP
PHP实现多图上传和单图上传功能
May 17 #PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 #PHP
PHP多维数组指定多字段排序的示例代码
May 16 #PHP
php strftime函数获取日期时间(switch用法)
May 16 #PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 #PHP
Laravel 集成 Geetest验证码的方法
May 14 #PHP
You might like
详解php中 === 的使用
2016/10/24 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
自己的js工具_Form 封装
2009/08/21 Javascript
JavaScript类库D
2010/10/24 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python函数返回值实例分析
2015/06/08 Python
Python读写文件方法总结
2015/06/09 Python
浅谈对yield的初步理解
2017/05/29 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
详解Python3中的 input() 函数
2020/03/18 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
商场端午节活动方案
2014/01/29 职场文书
趣味比赛活动方案
2014/02/15 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
Elasticsearch 批量操作
2022/04/19 Python