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 5.0 Pear安装方法
Dec 06 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
php精度计算的问题解析
Jun 21 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 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
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
Javascript进制转换实例分析
2015/05/14 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
用pickle存储Python的原生对象方法
2017/04/28 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python实现二叉查找树实例代码
2018/02/08 Python
python机器人运动范围问题的解答
2019/04/29 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
python 如何实现遗传算法
2020/09/22 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
html5 标签
2009/07/16 HTML / CSS
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
个人求职简历的自我评价范文
2013/10/09 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
个人维稳承诺书
2015/05/04 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书