大黑狗博客

一个没有特色的个人博客网站
当前位置:首页 / 建站运营 / 正文

PHP中判断变量为空的几种方法

2015-4-13 12:3:43 / 建站运营 / 次围观 / 9 次吐槽

判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误,
所以自己整理了一下PHP中一些常用的、判断变量为空的方法。
1. isset功能:判断变量是否被初始化
说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过
注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右


点击(此处)折叠或打开

$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

2. empty功能:检测变量是否为“空”
说明:任何一个未初始化的变量、值为 0 或 false 或 空字符串”" 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true
注意1:未初始化的变量也能被empty检测为“空”
注意2:empty只能检测变量,而不能检测语句
点击(此处)折叠或打开

$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

3. var == null功能:判断变量是否为“空”
说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。
点击(此处)折叠或打开

$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null功能:检测变量是否为“null”
说明:当变量被赋值为“null”时,检测结果为true
注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别
注意2:仅在变量的值为“null”时,检测结果才为true,0、空字符串、false、空数组都检测为false
注意3:变量未初始化时,程序将会报错
点击(此处)折叠或打开

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

5. var === null功能:检测变量是否为“null”,同时变量的类型也必须是“null”
说明:当变量被赋值为“null”时,同时变量的类型也是“null”时,检测结果为true
注意1:在判断为“null”上,全等于和is_null的作用相同
注意2:变量未初始化时,程序将会报错
总结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  变量   ”的文章

请输入你的在线分享代码
本站所有文章如无特别注明均为原创。作者:admin ,复制或转载请以超链接形式注明转自 大黑狗博客
原文地址《PHP中判断变量为空的几种方法
  • 3
     自动交易软件  发布于 2017/9/6 17:13:03  回复该留言
  • 爱情是走向天堂的云梯,上帝把所有的浪漫和执着放于你心,你用这份珍贵的浪漫和执着与对方坚守一份爱情。只要够久,就会一起营造出美好的天堂。
  • 4
     澳门银座娱乐  发布于 2017/9/6 17:15:51  回复该留言
  • 纵有一万个借口,也无法遮掩犯罪的事实;纵有一万个理由,也不能失去人性返古。如果信仰变得邪恶,那么人其实跟动物无异,丧失理性思维和基于人性对事物的判断,你做的不过就是猪拱庄稼、狼伤人的兽性行为。
  • 5
     量化交易策略  发布于 2017/9/6 17:18:22  回复该留言
  • 人类的巨大进步在于一次又一次对人性的反思、对良知的坚守。但是对于泯灭人性,丧尽良知,为了什么而不顾一切的行为或者罪恶,如果每个人都找出理由为自己开脱,这才是可怕至极的。因为正视错误才能挖出罪恶的因子或者说根由,不自省无异于还活在曾经的罪恶里。
  • 6
     澳门银座平台  发布于 2017/9/6 17:20:58  回复该留言
  • 如果你有私心,那么什么人情都可能很无情。而这具有普遍的社会指导意义。比如那些借爹、借干爹上位的人,他们洋洋自得占便宜的时候,其实失去的远比得到的多,因为你应该相信这个社会是公正的,所谓报应不爽,终有时日。如此思考,相信你会得到一个完全不同的社会认识,从而更加珍惜明规则的阳光社会,而不是潜规则的阴暗苟得。
  • 7
     自动交易软件  发布于 2017/9/6 17:23:29  回复该留言
  • 人生之路大概没有高速公路,如我辈平民百姓,唯靠坚韧之道,坚挺之志,奔跑之心,经营自己的人生。无论是泥泞还是风雨,前行是超越自我的唯一途径。纵然是海上的一叶扁舟,樯橹合力也要跨越风浪汹涌的大海。
  • 8
     澳门银座注册  发布于 2017/9/6 17:25:42  回复该留言
  • 追求什么,可以见证一个人的修养和德行。如果一个为官者热衷与神汉交,说明这个官员私底下的龌龊就像下水道,满含脏腐的自私和罪恶;如果一个企业家热衷求神问卦,说明这个企业家对于财富的不安全感趋于病态,不是害怕被别人夺走,就是害怕自己被别人陷害,甚至对于掠夺的原罪,心中不安的做噩梦;如果一个名利场上的明星喜欢与神汉交,说明明星的堂会唱进了权力的家门,不知道是被小妾还是被抛弃
  • 9
     程序化交易  发布于 2017/9/6 17:28:55  回复该留言
  • 自古中国文化就是上层玩的,一个村里出一个秀才都是烧了高香求来的的幸福。一群目不识丁淳朴的农人,安于天命,艰辛乐活。但就是这群人其实是最可怕的,因为没有一点文明和文化的熏陶,一旦激发出兽性,人性和人伦就消失殆尽。对这个民族来讲,更像一种宿命,上位者玩着老百姓取乐索取,骄奢淫逸,愚昧的老百姓最后被激发出兽性集体把上位者送到地狱。想想李自成进北平,把那些皇亲国戚一起杀剐屠戮,就能知道如果丧尽人性,上下只能一起玩完。

发表评论

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog

合作QQ376956348

允许转载 大黑狗博客 版权所有.