php isset() empty() 相关介绍

来源:互联网 发布:华为数据恢复 编辑:程序博客网 时间:2024/05/17 22:38

isset

(PHP 3, PHP 4, PHP 5 )

isset -- 检测变量是否设置

描述

bool isset ( mixed var [, mixed var [, ...]])

如果 var 存在则返回 TRUE,否则返回 FALSE

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined() 函数。

<?php

$var 
''
;

// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
     print 
"This var is set set so I will print."
;
}

// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。

$a "test"
;
$b "anothertest"
;

var_dump( isset($a) );      
// TRUE
var_dump( isset ($a$b) ); 
// TRUE

unset ($a
);

var_dump( isset ($a) );     
// FALSE
var_dump( isset ($a$b) ); 
// FALSE

$foo NULL
;
var_dump( isset ($foo) );   
// FALSE

?>

这对于数组中的元素也同样有效:

<?php

$a 
= array ('test' => 1'hello' => NULL
);

var_dump( isset ($a['test']) );            
// TRUE
var_dump( isset ($a['foo']) );             
// FALSE
var_dump( isset ($a['hello']) );           
// FALSE

// 键 'hello' 的值等于 NULL,所以被认为是未置值的。
// 如果想检测 NULL 键值,可以试试下边的方法。 
var_dumparray_key_exists('hello'$a) ); 
// TRUE

?>

注: 由于这是一个语言结构而非函数,因此它无法被“变量函数”调用。

    合理应用PHP函数isset()可以帮助我们是检测变量是否设置。若果变量不存在则返回 FALSE,而如果变量存在且值不为NULL,则返回 TURE。

    通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言。庞大的函数库支持着PHP语言功能的实现。下面我们为大家介绍有关PHP函数isset()的相关用法。

    格式:bool isset ( mixed var [, mixed var [, ...]] )

    功能:检测变量是否设置

    返回值:

    若变量不存在则返回 FALSE 
    若变量存在且其值为NULL,也返回 FALSE 
    若变量存在且值不为NULL,则返回 TURE

    同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

    版本:PHP 3, PHP 4, PHP 5

    更多说明:

    使用 unset() 释放变量之后,它将不再是 isset()。 
    PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 
    检测常量是否已设置可使用 defined() 函数。

    1. < ?php
    2. $var = '';
    3. if (isset($var)) // 空值、0、false的赋值结果均被isset判为 TRUE,所以后边的文本将被打印出来。
    4. print "blank value -> isset = true. ";
    5. $var = NULL;if (!isset($var)) // NULL将被isset判为 FALSE
    6. print "NULL value -> isset = false. "; //以下使用 var_dump 输出 isset() 的返回值。
    7. $a = "test";
    8. $b = "anothertest";
    9. var_dump( isset($a) ); // TRUE
    10. var_dump( isset ($a, $b) ); // TRUE
    11. unset ($a);
    12. var_dump( isset ($a) ); // FALSE
    13. var_dump( isset ($a, $b) ); // FALSE
    14. ?>

    PHP函数isset()同样适用于数组元素和对象元素的检查。若数组或对象实例未被定义,则检测其中的数组元素/对象元素将被返回false。

    1. < ?php
    2. $a = array ('test' => 1, 'hello' => NULL);
    3. var_dump( isset ($a['test']) ); // TRUE
    4. var_dump( isset ($a['foo']) ); // FALSE
    5. var_dump( isset ($a['hello']) ); // FALSE
    6. // 键 'hello' 的值等于 NULL,所以被认为是未置值的。
    7. // 如果想检测 NULL 键值,可以试试下边的方法。
    8. var_dump( array_key_exists('hello', $a) ); // TRUE
    9. ?>

    注: 由于这是一个语言结构而非函数,因此PHP函数isset()无法被变量函数调用。

    PHP的isset()函数 一般用来检测变量是否设置 
    格式:bool isset ( mixed var [, mixed var [, ...]] ) 

    功能:检测变量是否设置 

    返回值: 

    若变量不存在则返回 FALSE 
    若变量存在且其值为NULL,也返回 FALSE 
    若变量存在且值不为NULL,则返回 TURE 
    同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 
    版本:PHP 3, PHP 4, PHP 5 
    更多说明: 
    使用 unset() 释放变量之后,它将不再是 isset()。 
    PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 
    检测常量是否已设置可使用 defined() 函数。 

    PHP的empty()函数 判断值为否为空 

    格式:bool empty ( mixed var ) 

    功能:检查一个变量是否为空 

    返回值: 

    若变量不存在则返回 TRUE 
    若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE 
    若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE 
    版本:PHP 3, PHP 4, PHP 5 
    更多说明: 
    empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。 
    empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。 
    检测常量是否已设置可使用 defined() 函数。 
    例子: empty() 与 isset() 的一个简单比较 

    复制代码代码如下:

    <?php 
    $var = 0; 
    // 结果为 true,因为 $var 为空 
    if (empty($var)) { 
    echo '$var is either 0 or not set at all'; 

    // 结果为 false,因为 $var 已设置 
    if (!isset($var)) { 
    echo '$var is not set at all'; 

    ?> 

    注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。 
    注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。 
    下面是经过脚本之家测试过的一段isset与empty函数详细例子的代码,看完这个基本上就差不多了:
    复制代码代码如下:

    <?php 
    error_reporting(E_ALL); 
    echo '<B>未定义$var</b><Br>'; 
    echo "isset测试:<Br>"; 
    if ( isset ( $var )) 

    echo '变量$var存在!<Br>' ; 

    echo "empty测试:<Br>"; 
    if ( empty ( $var )){ 
    echo '变量$var的值为空<Br>'; 

    else 

    echo '变量$var的值不为空<Br>'; 

    echo "变量直接测试:<Br>"; 
    if ( $var ){ 
    echo '变量$var存在!<Br>'; 

    else { 
    echo '变量$var不存在!<Br>'; 

    echo '----------------------------------<br>'; 
    echo '<B>$var = \'\'</b><Br>'; 
    echo "isset测试:<Br>"; 
    $var = ''; 
    if ( isset ( $var )) 

    echo '变量$var存在!<Br>' ; 

    echo "empty测试:<Br>"; 
    if ( empty ( $var )){ 
    echo '变量$var的值为空<Br>'; 

    else 

    echo '变量$var的值不为空<Br>'; 

    echo "变量直接测试:<Br>"; 
    if ( $var ){ 
    echo '变量$var存在!<Br>'; 

    else { 
    echo '变量$var不存在!<Br>'; 

    echo '----------------------------------<br>'; 
    echo '<B>$var = 0</b><Br>'; 
    echo 'isset测试:<Br>'; 
    $var = 0 ; 
    if ( isset ( $var )) 

    echo '变量$var存在!<Br>' ; 

    echo "empty测试:<Br>"; 
    if ( empty ( $var )){ 
    echo '变量$var的值为空<Br>'; 

    else 

    echo '变量$var的值不为空<Br>'; 

    echo "变量直接测试:<Br>"; 
    if ( $var ){ 
    echo '变量$var存在!<Br>'; 

    else { 
    echo '变量$var不存在!<Br>'; 

    echo '----------------------------------<br>'; 
    echo '<B>$var = null</b><Br>'; 
    echo 'isset测试:<Br>'; 
    $var = null ; 
    if ( isset ( $var )) 

    echo '变量$var存在!<Br>' ; 

    echo "empty测试:<Br>"; 
    if ( empty ( $var )){ 
    echo '变量$var的值为空<Br>'; 

    else 

    echo '变量$var的值不为空<Br>'; 

    echo "变量直接测试:<Br>"; 
    if ( $var ){ 
    echo '变量$var存在!<Br>'; 

    else { 
    echo '变量$var不存在!<Br>'; 

    echo '----------------------------------<br>'; 

    echo '<B>$var ="php"</b><Br>'; 
    echo 'isset测试:<Br>'; 
    $var = "php"; 
    if ( isset ( $var )) 

    echo '变量$var存在!<Br>' ; 


    echo "empty测试:<Br>"; 
    if ( empty ( $var )){ 
    echo '变量$var的值为空<Br>'; 

    else 

    echo '变量$var的值不为空<Br>'; 

    echo "变量直接测试:<Br>"; 
    if ( $var ){ 
    echo '变量$var存在!<Br>'; 

    else { 
    echo '变量$var不存在!<Br>'; 

    ?>

原创粉丝点击