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获取当前文件所在目录 getcwd()函数
May 13 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php 多文件上传的实现实例
Oct 23 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
php面向对象程序设计入门教程
Jun 22 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开发中的tips(必看篇)
2017/03/24 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
学习ExtJS fit布局使用说明
2009/10/08 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
django中模板的html自动转意方法
2018/05/27 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
python实现简单的购物程序代码实例
2020/03/03 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
个人自我剖析材料
2014/09/30 职场文书
苏州园林导游词
2015/02/03 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android