zoukankan      html  css  js  c++  java
  • php的isset()和empty()区别

    转载:http://www.cnblogs.com/ndxsdhy/archive/2011/04/02/2003193.html

    1.isset()函数

       一般用来检测变量是否设置 (是否已经赋值)

        1.1. 若变量不存在则返回 FALSE

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

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

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

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

    2.empty()函数

        判断值为否为空 

        2.1.若变量不存在则返回 TRUE

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

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

       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))。
    View Code

    "

  • 相关阅读:
    我常用到的前端工具
    三级菜单
    voxel安装2
    voxel安装
    Linux 安装 nginx
    pip DEPRECATION: The default format will switch to columns”错误
    Python升级安装的一些问题
    Linux下修改Apache即httpd的端口
    Linux中yum命令镜像源和出错解决方案
    Linux 别名 Apache
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4211314.html
Copyright © 2011-2022 走看看