特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。
注: NULL 类型是 PHP 4 引进的。
在下列情况下一个变量被认为是 NULL:
被赋值为 NULL。
尚未被赋值。
被 unset()。
语法
NULL 类型只有一个值,就是大小写敏感的关键字 NULL。
<?php
$var = NULL;
?>
参见 is_null() 和 unset()。
is_null
(PHP 4 >= 4.0.4)
is_null -- 检测变量是否为 NULL
描述
bool is_null ( mixed var)
如果 var 是 null 则返回 TRUE,否则返回 FALSE。
查看 NULL 类型获知变量什么时候被认为是 NULL,而什么时候不是。
参见 NULL、is_bool()、is_numeric()、is_float()、is_int()、is_string()、is_object()、is_array()、is_integer() 和 is_real()。
unset
(PHP 3, PHP 4 )
unset -- 释放给定的变量
描述
void unset ( mixed var [, mixed var [, ...]])
unset() 销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。
例子 1. unset() 示例
<?php
// 销毁单个变量
unset ($foo);
// 销毁单个数组元素
unset ($bar['quux']);
// 销毁一个以上的变量
unset ($foo1, $foo2, $foo3);
?>
unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
<?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>
上边的例子将输出:
bar
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
<?php
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>
上边的例子将输出:
something
something
如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。
<?php
function foo() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
foo();
foo();
foo();
?>
上边的例子将输出:
1
2
3
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
<?php
function foo() {
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
?>
注: 由于这是一个语言结构而非函数,因此它无法被“变量函数”调用。
参见 isset() 和 empty()。