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 相关文章推荐
web方式ftp
Oct 09 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
php读取mysql的简单实例
Jan 15 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
PHP中的表达式简述
May 29 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 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
Cannot modify header information错误解决方法
2008/10/08 PHP
php array_unique之后json_encode需要注意
2011/01/02 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
jquery 问答知识整理
2010/02/11 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python在每个字符后添加空格的实例
2018/05/07 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
.net C#面试题
2012/08/28 面试题
公司内部升职自荐信
2015/03/27 职场文书
预备党员入党感言
2015/08/01 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
2019入党申请书格式
2019/06/25 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python