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 相关文章推荐
建立文件交换功能的脚本(二)
Oct 09 PHP
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php数组中包含中文的排序方法
Jun 03 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP过滤黑名单关键字的方法
Dec 01 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP4实际应用经验篇(7)
2006/10/09 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
js实现缓动动画
2020/11/25 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
Python项目跨域问题解决方案
2020/06/22 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
校三好学生主要事迹
2014/01/11 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
企业元宵节主持词
2014/03/25 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
环卫工作汇报材料
2014/10/28 职场文书
行政助理岗位职责
2015/02/10 职场文书
刑事附带民事代理词
2015/05/25 职场文书