美文网首页
变量声明与判断

变量声明与判断

作者: Oomcc | 来源:发表于2019-06-24 09:58 被阅读0次

    1.PHP引用变量:不同变量名指向同一地址。unset()只能消除变量的引用,不能删除其内存分配的空间

    //定义一个变量a,此时内存开辟了一块区域,$a指向该区域。
    $a = 100;
    var_dump($a); //int 100
    //定义变量b,将a变量的值赋值给b,此时该区域有两个变量($a和$b)指向。
    $b = $a;
    var_dump($b); //int 100
    //修改$a变量的值,php变量具有Copy On Write的特性,
    //所以会复制并重写a所指向的区域值,此时a和b分别指向不同区域。
    $a = 10;
    var_dump($a); //int 10
    var_dump($b); //int 100
    
    /*------------------------------------------------------------------*/
    
    $c = 100;
    $d = &$c;
    $c = 10;
    var_dump($c); //int 10
    var_dump($d); //int 10
    //当引用指向时,php变量不在具有COW特性,且指向同一内存区域。
    
    // unset()只能消除变量的引用,不能删除其内存分配的空间
    
    /*------------------------------------------------------------------*/
    

    2.静态变量会在解析代码的时候声明提前。

    $a=3;
    echo $a;//输出:3
    
    static $a=6;
    echo $a;//输出:12. *静态变量会在编译阶段声明提升*。
    
    $a=9;
    echo $a;//输出:9
    
    static $a=12;
    echo $a;//输出:9
    /*---------------------------------------------*/
    3;
    12;
    9;
    9;
    

    3.变量的判断:由于PHP是弱类型,故有很多种情况都可以表示false

    //
    $b=false      
    $b=0       
    $b=0.000(不论多少个0)       
    $b=""     
    $b='' 
    if([]){
        print_r(true);
    }else{
        print_r('aaaaa');//输出aaaaa
    }
    

    4.变量类型的转换:settype()函数,(int)...,intval()

    settype($exp,'integer');
    (int)$exp;
    intval($exp);
    

    相关文章

      网友评论

          本文标题:变量声明与判断

          本文链接:https://www.haomeiwen.com/subject/aafnqctx.html