PHP中empty,isset,is_null用法和区别详解-is_null

PHP课程第17天 PHP函数is_null,empty(),isset()区别

...est is define!":"test is undefine!"; echo "empty:$empty\r\n"; $is_null=is_null($test)?"test is define!":"test is undefine!"; echo "is_null:$is_null\r\n"; 测试结果是: 结果出来了:empty,isset首先都会检查变量是否存在,然后对...

最近在阅读项目的源码,发现源码中就对empty、isset和is_null函数(语言特性)乱用,有的地方很明显的就挖坑了。不能正确的去理解这些东西,就很可能给后续的开发挖坑了。

1.empty用法

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

2.isset()

isset -- 检测变量是否设置

描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 TRUE,否则返回 FALSE。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("0")并不等同于 PHP 的 NULL 常数。

注意:如果变量不存在,isset()和empty()都不会报错;is_null(),is_numeric()会报错

如何区别如下数组中 [0,'',null] 三个元素?(1)区别0:

$a = 0;
isset($a) && is_numeric($a) === true

(2)区别''

$a = '';
empty($a) && $a=== ''

(3)区别null

$a = null;
is_null($a);

另外在做表单提交的时候可能经常要检测一个变量是否存在,假如$_REQUEST['status'] = 0;使用empty($_REQUEST['status'])返回true,但是使用isset($_REQUEST['status']) 判断就不是空

3. is_null():

bool is_null ( mixed $var ) (php.net官方文档的函数定义)
当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE
1、它被赋值为NULL
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
让我们来看一些例子:

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
 
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE


以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

PHP isset()与empty()的使用区别

php中isset和empty的区别详解

php性能优化:isset()比strlen()更快

以上就是PHP中empty,isset,is_null用法和区别详解的详细内容,更多请关注php中文网其它相关文章!

php empty,isset,is_null判断比较(差异与异同)_php技巧

...est is define!":"test is undefine!"; echo "empty:$empty\r\n"; $is_null=is_null($test)?"test is define!":"test is undefine!"; echo "is_null:$is_null

PHP中is_null($x)和$x === null的简单比较

在PHP中is_null($x)和$x === null都可以来确定变量$x的值是否为“NULL”,那么它们之间有什么差异?下面本篇文章就来带大家认识一下is_null()和=== null方法,简单比较一下这两种方法,希望对大家有所帮助。is_nul...

empty, is_null, isset区别

empty(), is_null(), isset()真值表(区别)1、当变量未定义时,is_null()和“参数本身”是不允许作为参数判断的,会报Notice警告错误; 2、empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和

4月12日作业 变量作用域以及is_null(),empty(),isset()

 is_null(),empty(),isset()三个函数的功能,参数,返回值,源码示例学习函数一定要从这四个方面入手:1. 函数的功能是什么?2.函数的参数有多少?哪些是必须的,哪些是可选的,都是什么类型?3.函数是否有返回值?...

解析isset与is_null的区别_PHP

isset和is_null啥区别,看手册上讲的话, isset和is_null的功能几乎完全”相反的一样”..是不是isset就是一个is_null的相反的别名?诶, 要说区别, 那还真的是很多~一切的不同都是因为: is_null是...

解析isset与is_null的区别_PHP教程

isset和is_null啥区别,看手册上讲的话, isset和is_null的功能几乎完全”相反的一样”..是不是isset就是一个is_null的相反的别名?诶, 要说区别, 那还真的是很多~一切的不同都是因为: is_null是...

解析isset与is_null的区别_php技巧

isset和is_null啥区别,看手册上讲的话, isset和is_null的功能几乎完全”相反的一样”..是不是isset就是一个is_null的相反的别名?诶, 要说区别, 那还真的是很多~一切的不同都是因为: is_null是...

is_null() empty() isset() 三者的区别2018-04-13上传

...实例<?php echo '<h1>is_null(),empty(),isset()这三个函数的区别</h1>'; echo '<hr color="red">';

0412is_null(),empty(),isset()方法使用与变量作用域17:00

通过对is_null(),empty(),isset()方法使用与变量作用域的学习,了解到is_null(),empty(),isset()方法仅适用于变量判断,不能直接到用字面量上面,is_null()在变量不存在/没赋值/值为null时返回true,empty()在空字符串,空数组,null,0

MySQL replace into 语句浅析(一)_MySQL

...# UPDATE test.yy### WHERE### @1=1 /* LONGINT meta=0 nullable=0 is_null=0 */### @2='abc' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */### SET###