PHP 變數
變數是用來儲存資訊的"容器":
實例(一)
<?php $x=5; $y=6; $z=$x+$y; echo $z; ?>
與代數類似
x=5
y=6
z=x+y
在代數中,我們使用字母(如x),並給它賦值(如5)。
從上面的表達式 z=x+y ,我們可以計算 z 的值為 11。
在 PHP 中,這些字母稱為變數。
變數是用來儲存資料的容器。
PHP 變數
與代數類似,可以給 PHP 變數賦予某個值(x=5)或表達式(z=x+y)。
變數可以是很短的名稱(如 x 和 y)或更具描述性的名稱(如 age、carname、totalvolume)。
PHP 變數規則:
· 變數以$ 符號開始,後面跟著變數的名稱
·
· 變數名稱只能包含字母數字字元以及底線(A-z、0-9 和_ )
· 變數 寫的($y 和$Y 是兩個不同的變數)
PHP 語句和PHP 變數都是區分大小寫的。
建立(宣告)PHP 變數PHP 沒有宣告變數的指令。
變數在您第一次賦值給它的時候被創建:
實例
<?php $txt="Hello world!"; $x=5; $y=10.5; echo $txt; echo $x; echo $y; ?>
在上面的語句執行中,變數 txt 將保存值 Hello world!,且變數 x 將保存值 5,變數Y保存10.5。
註解:當您賦一個文字值給變數時,請在文字值兩側加上引號。
PHP 是一門弱型別語言在上面的實例中,我們注意到,不必向 PHP 宣告該變數的資料型別。
PHP 會根據變數的值,自動把變數轉換為正確的資料型別。
在強型別的程式語言中,我們必須在使用變數前先宣告(定義)變數的型別和名稱。
PHP 變數作用域變數的作用域是腳本中變數可被引用/使用的部分。
PHP 有三種不同的變因作用域:
· local(局部)
· cbal(
#局部和全域作用域
在所有函數外部定義的變量,擁有全域作用域。除了函數外,全域變數可以被腳本中的任何部分訪問,要在一個函數中存取一個全域變量,需要使用 global 關鍵字。在 PHP 函數內部宣告的變數是局部變量,只能在函數內部存取:
實例<?php $x=5; // 全局变量 function text () { $y=10; // 局部变量 echo "<p>测试函数内变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; } text (); echo "<p>测试函数外变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; ?>
在上述實例中 text () 函數定義了 $x 和 $y 變數。 $x 變數在函數外聲明,所以它是全域變數 , $y 變數在函數內宣告所以它是局部變數。
當我們呼叫text ()函數並輸出兩個變數的值, 函數將會輸出局部變數$y 的值,但不能輸出$x 的值,因為$x 變數在函數外定義,無法在函數內使用,如果要在函數中存取一個全域變量,則需要使用global 關鍵字。
然後我們在text ()函數外輸出兩個變數的值,函數會輸出全局部變數$x 的值,但是不能輸出$y 的值,因為$y 變數在函數中定義,屬於局部變數。
你可以在不同函數中使用相同的變數名稱,因為這些函數內定義的變數名稱是局部變量,只作用於該函數內。
global 關鍵字
global 關鍵字用於函數內存取全域變數。
在函數內呼叫函數外定義的全域變量,我們需要在函數中的變數前加上global 關鍵字:
實例
<?php $x=5; $y=10; function text () { global $x,$y; $y=$x*$y; } text (); echo $y; // 输出 15 ?>
PHP 將所有全域變量儲存在一個名為$GLOBALS[demo] 的陣列中。 demo保存變數的名稱。這個數組可以在函數內部訪問,也可以直接用來更新全域變數。
上面的實例可以寫成這樣:
實例
<?php $x=5; $y=10; function text () { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } text (); echo $y; ?>
#Static 作用域
##當一個函數完成時,它的所有變數通常都會被刪除。然而,有時候您希望某個局部變數不要被刪除。 要做到這一點,請在您第一次宣告變數時使用 static 關鍵字:實例<?php function text () { static $x=0; echo $x; $x++; } text (); text (); text (); ?>然後,每次呼叫函數時,該變數將會保留著函數前一次被呼叫時的值。 註解:此變數仍然是函數的局部變數。
參數作用域
參數是透過呼叫程式碼將值傳遞給函數的局部變數。 參數是在參數清單中宣告的,作為函數宣告的一部分:實例<?php function text ($x) { echo $x; } text (5); ?>下一節