首页 > php教程 > php手册 > 正文

php 判断变量为空详解介绍

WBOY
发布: 2016-05-25 16:47:44
原创
1197 人浏览过

在php中判断变量为空我们有很多种方法,php为我们提供了empty,isset,var == null,is_null等等函数来进行变量判断,下面我来给大家分享这些方法的使用方法.empty() 与 isset() 的一个简单比较.

实例代码如下:

<?php
$var = 0; // 结果为 true,因为 $var 为空 
// 结果为 true,因为 $var =0 
if (emptyempty($var)) { echo &#39;$var is either 0 or not set at all&#39;; }  
//结果为false, 因为$var已经设置了 
if (!isset($var)) { echo &#39;$var is not set at all&#39;; }   
?>
登录后复制

上面的empty与isset判断为没有任何属性的对象都将被认为是空.var == null

功能:判断变量是否为"空"

说明:值为 0 或 false 或 空字符串"" 或 null的变量、空数组、都将判断为 null

注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错.

实例代码如下:

$a = 0; 
$b = array(); 
if ($a == null) echo &#39;$a 为空&#39; . ""; 
if ($b == null) echo &#39;$b 为空&#39; . ""; 
if ($c == null) echo &#39;$b 为空&#39; . ""; 
// 显示结果为 
// $a 为空 
// $b 为空 
// Undefined variable: c
登录后复制

is_null实例代码如下:

$a = null; 
$b = false; 
if (is_null($a)) echo &#39;$a 为NULL&#39; . ""; 
if (is_null($b)) echo &#39;$b 为NULL&#39; . ""; 
if (is_null($c)) echo &#39;$c 为NULL&#39; . ""; 
// 显示结果为 
// $a 为NULL 
// Undefined variable: c
登录后复制

变量==0 或 变量===0

实例代码如下:

$a ===0  $a ==="" 
$a ==0 等于 $a ==""
登录后复制

在php url传参数时php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

实例代码如下:

if(emptyempty($id)) $id=1; // 若 id=0 ,id 也会为1 
if(!isset($id)) $id=1; // 若 id=0 ,id 不会为1
登录后复制

可分开运行以下代码检测上述推断:

if(emptyempty($id)) $id=1; 
   print $id; // 得到 1   
if(!isset($id)) $id=1; 
   print $id; //得到 0
登录后复制

总结

在php中NULL与空是两种不同的概念,isset 主要用来判断变量是否被初始化过empty 可以将值为 "假"、"空"、"0"、"NULL"、"未初始化" 的变量都判断为TRUE

is_null  仅把值为 "NULL" 的变量判断为TRUE
var == null  把值为 "假"、"空"、"0"、"NULL" 的变量都判断为TRUE
var === null  仅把值为 "NULL" 的变量判断为TRUE
登录后复制

其它一些可能用到php变量判断的函数

isset($ var) : //变量是不是已经声明
empty($ var): //变量是不是为空
defined($ var): //常量是不是已经定义 define()
is_array($ var): //检验测定变量是不是是数组
is_null($ var): //检验测定变量是不是为 null
登录后复制


本文地址:

转载随意,但请附上文章地址:-)

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!