PHP(3)变量

变量

变量由美元符号加变量名构成,变量名由字母或下划线开头,后面跟上任意数量的字母、数字或下划线构成

只有有名字的变量才能进行引用赋值

<?php
    $foo = 123;
    $newFoo = &$foo;
    $newFoo = 456;
    echo "\$foo is $foo,\$newFoo is $newFoo"; //输出$foo is 456,$newFoo is 456

    $temp = &(24*5); //error
?>

预定义变量

当PHP指令register_globals的值为off时,采用$_SERVER['DOCUMENT_ROOT'] 获取DOCUMENT_ROOT,建议将register_globals的值设置为on,这样可以直接使用$DOCUMENT_ROOT 获取DOCUMENT_ROOT

http://jp2.php.net/manual/zh/reserved.variables.php

全局变量

<?php
    global $a,$b;
    
    $b = $a + $b;
    //等同于
    $GLOBAL['b'] = $GLOBAL['a'] + $GOLBAL['b'];
    //$GLOBAL是一个关联数组,该数组的每一个变量是一个元素,键名对应变量名,值对应变量的内容
?>

静态变量:只能使用常量对静态变量进行赋值

<?php
    //变量$a仅会在第一次调用test()函数时被初始化,之后每次调用该函数$a的值将会被加1
   func test(){
        static $a = 0;
        echo $a; //输出0
        $a++;
    }
?>

可变变量

一个可变变量获取一个普通变量的值作为这个可变变量的变量名

<?php
    $a = 'hello';
    $$a = 'world'; //等同于 ${$a} = 'world',或$hello = 'world'

    //php解析时,会先解析$符号后面的部分
    class foo{
        var $arr = 'I am A';
    }
    $baz = array('arr','bar');
    $foo = new foo();
    echo $foo->$baz[0]
?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章