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