首页 > 代码库 > unset() isset() empty difined()操作变量详解
unset() isset() empty difined()操作变量详解
isset()函数 一般用来检测变量是否设置
格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
$int=‘null‘;$str=12;if(isset($int,$str)){ //返回true
echo ‘123‘.‘ ‘;
};
更多说明:
使用 unset() 释放变量之后,将销毁变量,所以它将不再是 isset(),不可再用此函数判断。
注意:PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
empty()函数 判断值为否为空
格式:bool empty ( mixed var ) 功能:检查一个变量是否为空
返回值:
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
defined("CHR"
); 检测常量是否已设置可使用 defined() 函数。判断常量是否存在
<?phpdefine("GREETING","Hello world!"); //定义常量 使用常量时不用加 $echo defined("GREETING");?>
unset() 销毁指定的变量。
1.如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
<?phpfunction destroy_foo() { global $foo; unset($foo);}$foo = ‘bar‘;destroy_foo();echo $foo;?>
以上例程会输出:bar
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
<?phpfunction foo() { unset($GLOBALS[‘bar‘]);}$bar = "something";foo();?>
2.如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
<?phpfunction foo(&$bar) { unset($bar); $bar = "blah";}$bar = ‘something‘;echo "$bar\n";foo($bar);echo "$bar\n";?>
以上例程会输出:
something
something
3.如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。
<?phpfunction foo(){ static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $bar\n";}foo();foo();foo();?>
以上例程会输出:
Before unset: 1, after unset: 23Before unset: 2, after unset: 23Before unset: 3, after unset: 23
unset() isset() empty difined()操作变量详解