zoukankan      html  css  js  c++  java
  • php isset()与empty()的使用与区别【转】

    PHP isset函数作用

    isset函数是检测变量是否设置。

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

    返回值:

    若变量不存在则返回FALSE

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

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

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

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

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

    <?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_dump( array_key_exists('hello', $a) ); // TRUE
    ?>
    

    PHP的empty()函数

    格式:bool empty(mixed var)

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

    返回值:

    若变量不存在则返回TRUE

    若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE

    若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSE

    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'; 
    } 
    ?>
    

    当要判断一个变量是否已经声明的时候可以使用isset函数

    当要判断一个变量是否已经赋予数据且不为空,可以用empty函数

    当要判断一个变量存在且不为空,先isset函数,再用empty函数
     
    文章转自:https://www.cnblogs.com/liangdong/p/10399081.html
    更多参考:https://www.php.net/manual/zh/function.empty.php

  • 相关阅读:
    PAT (Basic Level) Practise 1013 数素数
    PAT (Basic Level) Practise 1014 福尔摩斯的约会
    codeforces 814B.An express train to reveries 解题报告
    KMP算法
    rsync工具
    codeforces 777C.Alyona and Spreadsheet 解题报告
    codeforces 798C.Mike and gcd problem 解题报告
    nginx + tomcat多实例
    MongoDB副本集
    指针的艺术(转载)
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/13153949.html
Copyright © 2011-2022 走看看