经常会用的空值判断,但总是搞不清楚其微乎其微的区别,在此好好总结总结:
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
相关推荐
isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_null 判断变量是否为NULLok,已经开始搞人了。那么开始,这4个函数中除了unset,其他3个都是判断函数,unset首先出局,因为他...
1.empty用法 bool empty ( mixed var) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0″、NULL、FALSE、array()、...如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使
10.__set() __get() __isset() __unset()四个方法的应用 一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取 和赋值操作是非常频繁的,因此在PHP5 中,预定义了两个函数“__get()”和...
PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload 1、__get、__set 这两个方法是为在...
__isset() – 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法 __unset() - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则...
这里主要记录两个变量判断函数的使用:isset()与empty() 1、isset — 检测变量是否已设置并且非 NULL isset ( mixed $var [, mixed $... ] ) : bool 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()...
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。 警告: isset...
如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变量,将返回FALSE。同时要注意的是一个NULL字节(”\0″)并不等同于PHP的NULL常数。 警告:is
函数代码 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) {...
if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) || isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) { error(‘request_tainting’); } //是否开启rewrite if(!empty($_GET['rewrite'])) { $...
分享给大家供大家参考,具体如下: 关于cookie和session的测试代码: <?...session_start(); define('u','a');...if (isset($_GET['r']) && $_GET['r']== 1) { ...if (isset($_POST['username']) && isset($_POST
session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionidsession_destroy()删除当前用户对应的session文件以及释放sessionid,内存中的$_SESSION变量内容依然...
NULL 博文链接:https://onestopweb.iteye.com/blog/2359426
总的来说, 有下面几个魔术函数 __construct() __destruct() __get() __set() __isset() __unset() __call() __callStatic() __sleep() __wakeup() __toString() __set_state() __clone() __autoload() __construct...
如果在函数中unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。 <?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo()...
当我们 一台电脑安装多个软件时候,比如Libero,modelsim,cadence等,破解时候会用到环境变量LM_LICENSE_FILE,那么各软件对应的破解文件是不一样的,如图环境变量,那么怎样解决一个变量名对应多个变量值呢?