PHP判断变量为空
2016-05-26 00:00
267 查看
摘要: PHP神奇的为空判定,稍不注意就掉坑里去了,留着备查
====== PHP判断变量为空 ======
===== isset =====
功能:
判断变量是否被初始化。
数组中元素是否被定义过。
当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右
===== empty =====
功能:检测变量是否为“空”
任何一个
未初始化的变量
0
false
空字符串“”
null
空数组
没有任何属性的对象
都将判断为empty==true
注意:
未初始化的变量也能被empty检测为“空”
empty只能检测变量,而不能检测语句
===== var == null =====
功能:判断变量是否为“空”
说明:
0
false
空字符串“”
null
空数组
都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。
===== var === null =====
功能:检测变量是否为“null”,同时变量的类型也必须是“null”
说明:当变量被赋值为“null”时,同时变量的类型也是“null”时,检测结果为true
注意:
在判断为“null”上,全等于和is_null的作用相同
变量未初始化时,程序将会报错
===== is_null =====
功能:检测变量是否为“null”
说明:当变量被赋值为“null”时,检测结果为true
注意:
null不区分大小写:$a = null; $a = NULL 没有任何区别
仅在变量的值为“null”时,检测结果才为true;0、空字符串、false、空数组都检测为false
变量未初始化时,程序将会报错
===== 总结 =====
PHP中,“NULL” 和 “空” 是2个概念。
isset 主要用来判断变量是否被初始化过
empty 可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null 仅把值为 “NULL” 的变量判断为TRUE
var == null 把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null 仅把值为 “NULL” 的变量判断为TRUE
所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰。
====== PHP判断变量为空 ======
===== isset =====
功能:
判断变量是否被初始化。
数组中元素是否被定义过。
当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右
===== empty =====
功能:检测变量是否为“空”
任何一个
未初始化的变量
0
false
空字符串“”
null
空数组
没有任何属性的对象
都将判断为empty==true
注意:
未初始化的变量也能被empty检测为“空”
empty只能检测变量,而不能检测语句
===== var == null =====
功能:判断变量是否为“空”
说明:
0
false
空字符串“”
null
空数组
都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。
===== var === null =====
功能:检测变量是否为“null”,同时变量的类型也必须是“null”
说明:当变量被赋值为“null”时,同时变量的类型也是“null”时,检测结果为true
注意:
在判断为“null”上,全等于和is_null的作用相同
变量未初始化时,程序将会报错
===== is_null =====
功能:检测变量是否为“null”
说明:当变量被赋值为“null”时,检测结果为true
注意:
null不区分大小写:$a = null; $a = NULL 没有任何区别
仅在变量的值为“null”时,检测结果才为true;0、空字符串、false、空数组都检测为false
变量未初始化时,程序将会报错
===== 总结 =====
PHP中,“NULL” 和 “空” 是2个概念。
isset 主要用来判断变量是否被初始化过
empty 可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null 仅把值为 “NULL” 的变量判断为TRUE
var == null 把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null 仅把值为 “NULL” 的变量判断为TRUE
所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰。
相关文章推荐
- 一个关于if else容易迷惑的问题
- 使用C++实现JNI接口需要注意的事项
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- mysql 中存在null和空时创建唯一索引的方法