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 相关文章推荐
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
php二维数组转成字符串示例
Feb 17 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
PHP实现上一篇下一篇的方法实例总结
Sep 22 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
PHP执行普通shell命令流程解析
Aug 24 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 安全检测代码片段(分享)
2013/07/05 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
js实现全选和全不选
2020/07/28 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
深入了解Django中间件及其方法
2019/07/26 Python
django 微信网页授权登陆的实现
2019/07/30 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
优质的学校老师推荐信
2013/10/28 职场文书
历史系毕业生自荐信
2013/10/28 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
给校长的建议书100字
2014/05/16 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
2022漫威和DC电影上映作品
2022/04/05 欧美动漫