文章出處

在PHP中,變量是$+變量名,變量名遵循標識符的命名規則,可以以字母、下劃線開頭,可以由數字、下劃線、字母組成合法的變量名。

變量聲明

所有變量在使用之前應該進行聲明,而且最好帶上注釋,雖然在PHP中可以不顯示聲明變量。聲明變量之后,可以為變量進行賦值;變量的賦值有兩種類型值賦值和引用賦值。

<?php
    #合法的聲明變量
    $_name;
    $account;
    $show_title;
    #賦值
    $color="red";
    #引用賦值
    $user_color=&$color;
?>

變量的作用域

在PHP腳本中的任何位置都可以聲明變量,但是根據位置的不同,作用域的范圍也不同。

  • 局部變量

一般局部變量都是在函數中聲明,即它只能在函數中被引用,函數退出時改變量及其值被銷毀。如果在函數外使用該變量,PHP會把它當作另外一個變量進行處理,與函數中的變量無任何關系。

<?php
    $x=5;
    function show_x() {
        $x=3;
        echo $x;
    }
    show_x();
    echo $x;
?>
  • 函數參數

函數參數更具其傳遞的方式分為兩種,按值傳遞和按引用傳遞;如果是按值傳遞,參數的作用域只限于函數內,函數退出后參數被銷毀。但按引用傳遞,參數的作用域范圍不僅在函數內部。

<?php
    $cost_fish=20.10;
    $cost_apple=2.45;
    #引用參數前面需要加上&符號
    function rise($cost_fish,&$cost_apple) {
        $cost_fish++;
        $cost_apple++;
    }
    rise($cost_fish,$cost_apple);
    echo $cost_fish."值傳遞參數<--->引用傳遞參數".$cost_apple;
?>
  • 全局變量

可以在腳本中的任何一個地方訪問全局變量,但在函數中要修改全局變量的時候需要使用關鍵字global顯式的聲明。

<?php
    $x=5;
    function show_x() {
        global $x;
        $x++;
    }
    show_x();
?>

通過$GLOBAL數組也可以聲明全局變量

<?php
    $number=15;
    function calc() {
        $GLOBALS["number"]++;
    }
    calc();
    echo $number;
?>

使用全局變量一定要謹慎,用多了之后很容易造成代碼混亂。

  • 靜態變量

靜態變量與函數參數不同在于,靜態變量聲明的時候多了static關鍵字,使得靜態變量在函數退出之后不會被銷毀,并且保留這個值在函數再次調用的時候使用該值。

<?php
    function spend() {
        static $date=0;
        $date++;
        echo $date;
    }
    spend();
    spend();
?>

PHP預定義變量

PHP中預定義了很多變量,可以在執行腳本的任何位置訪問他們,這些變量主要是提供了大量關于環境的信息。

    //打印出$_SERVER 預定義的變量信息
    foreach($_SERVER as $var =>$value){
        echo "$var=>$value<br/>";
    }

更多關于PHP變量的內容:http://php.net/manual/en/language.variables.php


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()