首页 > 代码库 > 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()操作变量详解