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() 函数。判断常量是否存在

<?php
define("GREETING","Hello world!"); //定义常量 使用常量时不用加 $
echo defined("GREETING");
?>

unset() 销毁指定的变量。

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

<?php
function destroy_foo() {
global $foo;
unset($foo);
} $foo = 'bar';
destroy_foo();
echo $foo;
?>

  以上例程会输出:bar

如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:

<?php
function foo()
{
unset($GLOBALS['bar']);
} $bar = "something";
foo();
?>

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

<?php
function foo(&$bar) {
unset($bar);
$bar = "blah";
} $bar = 'something';
echo "$bar\n"; foo($bar);
echo "$bar\n";
?>

  

以上例程会输出:

  something

  something

3.如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

<?php
function 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: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23
上一篇:最强 IDE Visual Studio 2017 正式版发布


下一篇:JavaScript中的注释问题详解? 部分3