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"等值的干扰。

时间: 2013-11-09

浅谈php中变量的数据类型判断函数

在php中我们可以通过 var_dump()打印出变量的类型和值.同时我们可以通过一些函数判断变量的类型.如果只是想得到一个变量的数据类型,可以使用gettype()函数,gettype($t) 返回$t的数据类型的字符串,要是$t不属于php中8种基本变量类型,返回"unknow type".我们还可以通过is_type系类函数直接判断是否为type类型函数,是的话返回true ,不是返回false. 如: is_bool()        是否为布尔型 is_int()      

php数据类型判断函数有哪些

复制代码 代码如下: is_bool().is_float().is_int().is_string().is_object().is_array() 和 is_integer(). 注意当判断 is_numeric() 检测变量是否为数字或数字字符串 有别 is_integer()

介绍一些PHP判断变量的函数

虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑.幸运地是,PHP的开发者注意到这一情况,因此在其中包含了一个函数工具包,特别用它来测试变量并查明它们属于哪个特定的字符类别--也就是说,它们是否包含字符串.整数.对象或布尔值. 下面列出了这一类别中较为有用的函数,并提供说明与应用实例. empty($var) 这个函数用来检查变量是否为空(没有值或零值).用此函数来检查用户输入,例如,表格变量.保证它们包含有效数据.

PHP查看当前变量类型的方法

下面把PHP查看当前变量类型的背景.过程以及解决方案都给大家写整理出来了,具体如下: 解决背景 折腾过程一: 已解决 PHP中的json的json_decode不工作没有任何输出 期间,需要搞懂一个: 复制代码 代码如下: PHP: curl_exec – Manual curl_exec 返回的变量$respJson的类型是什么,是不是string类型. 折腾过程二: 1.搜: 复制代码 代码如下: php check variable type 参考: PHP: gettype – Manu

php判断变量类型常用方法

现在让我们了解下具体的使用方法 gettype() gettype 会根据 参数类型返回下列值 "boolean"(从 PHP 4 起) "integer" "double"(如果是 float 则返回"double",而不是"float") "string" "array" "object" "resource"(从 PHP

PHP 判断变量类型实现代码

PHP 包括几个函数可以判断变量的类型,例如:gettype(),is_array(),is_float(),is_int(),is_object() 和 is_string(). 复制代码 代码如下: <?php $s = "this is a string"; $i = 9; $arr = array(2,4,6); is_string($s); //返回TRUE,表示$s是一个字符串变量 is_string($i); //返回FALSE,表示$i不是一个字符串变量 is_a

js中判断变量类型函数typeof的用法总结

1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean"."object"."function" 和 "undefined". 2.常用返回值说明 表达式 返回值 typeof undefined 'undefined' typeof null 'object' typeof true 'boole

JavaScript基于自定义函数判断变量类型的实现方法

本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法.分享给大家供大家参考,具体如下: 通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的. 我写了一个自定义函数来做这个事,判断的比较全面了. function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructo

python根据unicode判断语言类型实例代码

本文实例主要实现的是python根据unicode判断语言类型,具体如下. 实例代码: def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' and uchar<=u'\u9fa5': return True else: return False def is_number(uchar): """判断一个unicode是否是

简单了解JAVA变量类型及代码实例

这篇文章主要介绍了简单了解JAVA变量类型及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在Java语言中,有类变量.实例变量.局部变量,所有的变量在使用前必须声明.声明普通变量如下: public int a,b,c; //整型变量 public float f = 3.14f: //单精度浮点型变量,并赋值 public double d; //双精度浮点型变量 public byte b =22: //整型变量 public S

Js检查变量类型的代码()

JavaScript检查变量的类型,并判断是整形或是字符串或是其它类型等等. 检查变量的类型 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 2.toString 本来是用来做字符串转换的,不过现在流行用来做变量类型的检查了.舜子这里也写了一个函数,方便检查变量的类型,可以用来代替 typeof 复制代码 代码如下: function getType(o) { var _t; return ((_t = typeof(o)) == "object" ? o==null &a

Python中请使用isinstance()判断变量类型

一.isinstance() 在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便. 复制代码 代码如下: # coding=utf-8   a = 10   def b():     pass   print isinstance(a,(int,str)) print isinstance(a,(float,str)) print isinstance(b,(str,int))   class c:   

json转String与String转json及判断对象类型示例代码

复制代码 代码如下: function ajaxGetMenuList(){ $.getJSON("login.do", function(json){ var r = ""; zNodes += "["; $(json.menuList).each(function(i){ r = json.menuList[i]; if(i>0) zNodes += ","; zNodes += '{'; zNodes += 'id

js判断undefined类型示例代码

复制代码 代码如下: if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof方法: if (typeof(reValue) == "undefined") { alert("undefined"); } typeof 返回的是字符串,有六种可能:"number"."string"."boolean".

jquery判断浏览器类型的代码

Jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,建议学习Jquery的朋友学习下,了解一下思路. 主要使用的方法:$.browser.['浏览器关键字'] 复制代码 代码如下: $(function() { if($.browser.msie) { alert("this is msie"); } else if($.browser.safari) { alert("this is safari!"); }