• 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
    ";
    
    foo($bar);
    echo "$bar
    ";
    ?>
    

      

    以上例程会输出:

      something

      something

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

    <?php
    function foo()
    {
        static $bar;
        $bar++;
        echo "Before unset: $bar, ";
        unset($bar);
        $bar = 23;
        echo "after unset: $bar
    ";
    }
    
    foo();
    foo();
    foo();
    ?>
    

      

    以上例程会输出:

    Before unset: 1, after unset: 23
    Before unset: 2, after unset: 23
    Before unset: 3, after unset: 23



  • 相关阅读:
    C#进行Visio二次开发之设备状态跟踪
    C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处
    C#进行Visio二次开发之界面设计及架构设计
    Sqlserver常用函数例子说明
    香港生肖采集及规则分析软件
    使用NVelocity0.5实现服务器端页面自动生成
    C#进行Visio二次开发之判断图纸是否有设备
    C#进行Visio二次开发之图纸缩放操作的实现
    C#进行Visio开发的事件处理
    导线应力及弧垂计算相关资料
  • 原文地址:https://www.cnblogs.com/jiechn/p/3992408.html
Copyright © 2020-2023  润新知