is_null(), empty(), unset() 区别和用法 PHP

is_null

在下列情况下一个变量被认为是 NULL

  •  
    • 被赋值为 NULL

    • 尚未被赋值。

    • 被 unset().

 NULL 类型只有一个值,就是大小写敏感的关键字 NULL

empty()

""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
是非空或非零的值,则 empty() 返回 FALSE
psL由于这是一个语言结构而非函数,因此它无法被变量函数调用。
empty()常用来检测 request 过来的值是否为空值(即是否传递过来)

unset()

不是一个真正的函数:它现在是一个语句

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

<?php
function destroy_foo() {
    global $foo;
    unset($foo);
}

$foo 'bar';
destroy_foo();
echo $foo;
?> 

结果:

bar

2.如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。 

<?php
function foo() {
    static $a;
    $a++;
    echo "$a\n";
    unset($a);
}

foo();
foo();
foo();
?> 

结果:

1

2

3

3.如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
<?php
function foo() {
    unset($GLOBALS['bar']);
}

$bar "something";
foo();
?> 
 
 

(标题未注明“转载”的为“原创”,转载请注明来源,欢迎来信交流 wangchao123.com@gmail.com)

  1. 还没有任何评论。
(will not be published)

回到顶端 TOP

mian: ___38 queries ___ 0.403 seconds.