`

空函数—— empty & is_null & isset & unset

    博客分类:
  • PHP
阅读更多

经常会用的空值判断,但总是搞不清楚其微乎其微的区别,在此好好总结总结:

1.empty   检查一个变量是否为空

boolean emptye( mixed $var)

如果var是非空或非零的值,则empty()返回false。换句话说,"", 0, "0", null, false, array(), var $var;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回true。

empty() 只检测变量,检测任何非变量的东西都将导致解析错误,换句话说,后边的语句将不会起作用:empty(addslashes($name));

2.isset   检查变量是否设置,并且不是null

boolean isset(mixed $var [,mixed $...])

返回值 : 如果var存在并且值不是null则返回true,否则返回false。

如果已经使用unset()释放了一个变量后,它将不再是isset()。若使用isset()测试一个被设置成null的变量,将返回false。同时要注意的是一个null字节("\0")并不等同于PHP的NULL常数

警告:isset()  只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可以使用defined()函数。

3.unset    释放(销毁)给定的变量

在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

如果在函数中unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。

4.is_null   检测变量是否为null

boolean is_null(mixed $var)

如果var是null 则返回true,否则返回false.

查看null类型获知变量什么时候被认为是null,而什么时候不是。

NULL  特殊的null值表示一个变量没有值,null类型唯一可能的值就是null,在下列情况下一个变量被认为是null:

被赋值为null;

尚未被赋值;

被unset()。

变量                         empty          is_null             isset
 $a=””                       true              false              true
 $a=null                    true               true              false
 var $a                       true              true              false
 $a=array()                true              false              true
 $a=false                   true               false              true
 $a=15                      false              false              true
 $a=1                        false              false              true
 $a=0                        true               false              true
 $a=”0”                     true               false              true
 $a=”true”           	 false               false              true
 $a=”false”          	 false               false              true

 

 

 

分享到:
评论

相关推荐

    php中is_null,empty,isset,unset 的区别详细介绍

    isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_null 判断变量是否为NULLok,已经开始搞人了。那么开始,这4个函数中除了unset,其他3个都是判断函数,unset首先出局,因为他...

    PHP中empty,isset,is_null用法和区别

    1.empty用法 bool empty ( mixed var) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0″、NULL、FALSE、array()、...如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使

    php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法

    10.__set() __get() __isset() __unset()四个方法的应用 一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取 和赋值操作是非常频繁的,因此在PHP5 中,预定义了两个函数“__get()”和...

    php常见的魔术方法详解

    PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload  1、__get、__set  这两个方法是为在...

    PHP魔术方法__ISSET、__UNSET使用实例

    __isset() – 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法 __unset() - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则...

    PHP中isset、empty的用法与区别示例详解

    这里主要记录两个变量判断函数的使用:isset()与empty() 1、isset — 检测变量是否已设置并且非 NULL isset ( mixed $var [, mixed $... ] ) : bool 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()...

    PHP中isset()和unset()函数的用法小结

    如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。 警告: isset...

    PHP isset()及empty()用法区别详解

    如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变量,将返回FALSE。同时要注意的是一个NULL字节(”\0″)并不等同于PHP的NULL常数。 警告:is

    js is_valid_filename验证文件名的函数

    函数代码 function is_valid_filename($name) { $parts = preg_split("/(\/|".preg_quote("\\").")/", $name); if (preg_match("/[a-z]:/i", $parts[0])) { unset($parts[0]); } foreach ($parts as $part) {...

    DX1.5 手机正式版

    if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) || isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) { error(‘request_tainting’); } //是否开启rewrite if(!empty($_GET['rewrite'])) { $...

    PHP会话控制实例分析

    分享给大家供大家参考,具体如下: 关于cookie和session的测试代码: <?...session_start(); define('u','a');...if (isset($_GET['r']) && $_GET['r']== 1) { ...if (isset($_POST['username']) && isset($_POST

    基于session_unset与session_destroy的区别详解

    session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionidsession_destroy()删除当前用户对应的session文件以及释放sessionid,内存中的$_SESSION变量内容依然...

    PHP unset()函数用来释放内存

    NULL 博文链接:https://onestopweb.iteye.com/blog/2359426

    php 魔术函数使用说明

    总的来说, 有下面几个魔术函数 __construct() __destruct() __get() __set() __isset() __unset() __call() __callStatic() __sleep() __wakeup() __toString() __set_state() __clone() __autoload() __construct...

    PHP unset函数原理及使用方法解析

    如果在函数中unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。 <?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo()...

    关于LM_LICENSE_FILE环境变量冲突问题

    当我们 一台电脑安装多个软件时候,比如Libero,modelsim,cadence等,破解时候会用到环境变量LM_LICENSE_FILE,那么各软件对应的破解文件是不一样的,如图环境变量,那么怎样解决一个变量名对应多个变量值呢?

Global site tag (gtag.js) - Google Analytics