變數是用於儲存資訊的"容器":
<?php$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
x=5y=6
z=x+y
在代數中,我們使用字母(如 x),並給它賦值(如 5)。
從上面的表示式 z=x+y ,我們可以計算出 z 的值為 11。
在 php 中,這些字母被稱為變數。
與代數類似,可以給 php 變數賦予某個值(x=5)或者表示式(z=x+y)。
變數可以是很短的名稱(如 x 和 y)或者更具描述性的名稱(如 age、carname、totalvolume)。
php 變數規則:
php 沒有宣告變數的命令。
變數在您第一次賦值給它的時候被建立:
<?php$txt="hello world!";
$x=5;
$y=10.5;
?>
在上面的語句執行中,變數txt將儲存值hello world!,且變數x將儲存值5。
注釋:當您賦乙個文字值給變數時,請在文字值兩側加上引號。
在上面的例項中,我們注意到,不必向 php 宣告該變數的資料型別。
php 會根據變數的值,自動把變數轉換為正確的資料型別。
在強型別的程式語言中,我們必須在使用變數前先宣告(定義)變數的型別和名稱。
變數的作用域是指令碼中變數可被引用/使用的部分。
php 有四種不同的變數作用域:
在所有函式外部定義的變數,擁有全域性作用域。除了函式外,全域性變數可以被指令碼中的任何部分訪問,要在乙個函式中訪問乙個全域性變數,需要使用 global 關鍵字。
在 php 函式內部宣告的變數是區域性變數,僅能在函式內部訪問:
<?php$x=5; // 全域性變數
function mytest()
mytest();
echo "測試函式外變數:";
echo "變數 x 為: $x";
echo "
";echo "變數 y 為: $y";
?>
在以上例項中 mytest() 函式定義了 $x 和 $y 變數。 $x 變數在函式外宣告,所以它是全域性變數 , $y 變數在函式內宣告所以它是區域性變數。
當我們呼叫mytest()函式並輸出兩個變數的值, 函式將會輸出區域性變數 $y 的值,但是不能輸出 $x 的值,因為 $x 變數在函式外定義,無法在函式內使用,如果要在乙個函式中訪問乙個全域性變數,需要使用 global 關鍵字。
然後我們在mytest()函式外輸出兩個變數的值,函式將會輸出全域性變數 $x 的值,但是不能輸出 $y 的值,因為 $y 變數在函式中定義,屬於區域性變數。
nba新聞
global 關鍵字用於函式內訪問全域性變數。
在函式內呼叫函式外定義的全域性變數,我們需要在函式中的變數前加上 global 關鍵字:
<?php$x=5;
$y=10;
function mytest()
mytest();
echo $y; // 輸出 15
?>
php 將所有全域性變數儲存在乙個名為 $globals[index] 的陣列中。 index 儲存變數的名稱。這個陣列可以在函式內部訪問,也可以直接用來更新全域性變數。
上面的例項可以寫成這樣:
<?php$x=5;
$y=10;
function mytest()
mytest();
echo $y;
?>
當乙個函式完成時,它的所有變數通常都會被刪除。然而,有時候您希望某個區域性變數不要被刪除。
要做到這一點,請在您第一次宣告變數時使用static關鍵字:
<?phpfunction mytest()
mytest();
mytest();
mytest();
?>
然後,每次呼叫該函式時,該變數將會保留著函式前一次被呼叫時的值。
注釋:該變數仍然是函式的區域性變數。
引數是通過呼叫**將值傳遞給函式的區域性變數。
引數是在引數列表中宣告的,作為函式宣告的一部分:
<?phpfunction mytest($x)
mytest(5);
?>
我們將在 php 函式 章節對它做更詳細的討論。
在 php 中函式是有獨立的作用域,所以區域性變數會覆蓋全域性變數,即使區域性變數中沒有全域性變數相同的變數,也會被覆蓋。如下:
<?php$a=5;
$b=3;
function t()
t();
?>
要想在函式中直接使用全域性變數可以通過 global 關鍵字宣告或者通過 php 中自定義的 $globals 陣列獲取:
<?php$a=5;
$b=3;
function t()
t();
?>
要想在函式中直接使用全域性變數可以通過 global 關鍵字宣告或者通過 php 中自定義的 $globals 陣列獲取:
<?php
$a=5;
$b=3;
function t1()
t1();
echo php_eol;
function t2()
t2();
?>
php變數與變數型別
型別轉換 1 intval 轉化為int型別 並不是四捨五入 a 1.5 b intval a c 0.9 d 1.3333 echo b echo intval c echo intval d 列印結果為 1 012 floatval 轉化成實數型別 a 1 echo gettype a b fl...
PHP的靜態變數介紹
2010 09 01 靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。01 02functiont...
PHP 變數與常量
在程式執行的過程中,變數儲存的值可以隨時改變,而常量儲存的值是不可以改變的。變數用於儲存臨時資料資訊。某一變數被定義的時候,系統會自動為該變數分配乙個儲存空間存放變數的值。我們可以在定義變數的時候對其賦值,如果需要改動變數的值,只需再次對其進行賦值即可。對於那些臨時資料資訊或者處理過程,都可以存放在...