和其他語言一樣诱渤,php使用變量來存儲信息的"容器":
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
與代數(shù)類似
x=5
y=6
z=x+y
在 PHP 中,這些字母被稱為變量。
PHP變量有哪些特點
PHP 變量規(guī)則:
變量以 $ 符號開始临燃,后面跟著變量的名稱
變量名必須以字母或者下劃線字符開始
變量名只能包含字母數(shù)字字符以及下劃線(A-z浴捆、0-9 和 _ )
變量名不能包含空格
變量名是區(qū)分大小寫的(
Y 是兩個不同的變量)
變量可以不需要被提前定義蒜田,使用時定義即可
PHP 可以自動地從一個類型轉(zhuǎn)換成另一個類型
PHP 變量沒有內(nèi)在指定類型——一個變量事先不知道是否會用于存儲數(shù)字或字符串。后面等于什么類型选泻,這個變量就是什么類型冲粤。
PHP 語句和 PHP 變量都是區(qū)分大小寫的美莫。
創(chuàng)建(聲明)PHP 變量
PHP 沒有聲明變量的命令。
變量在您第一次賦值給它的時候被創(chuàng)建梯捕,例如:
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;
?>
字符串要加“” 或者 ‘’
PHP 變量作用域
變量的作用域是腳本中變量可被引用/使用的部分厢呵。
PHP 有3種不同的變量作用域:
- local(局部)
- global(全局)
- static(靜態(tài))
1. Local 和 Global 作用域
函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進行訪問傀顾。
函數(shù)內(nèi)部聲明的變量擁有 LOCAL 作用域襟铭,只能在函數(shù)內(nèi)部進行訪問。
下面的例子測試了帶有局部和全局作用域的變量:
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>測試函數(shù)內(nèi)部的變量:</p>";
echo "變量 x 是:$x";
echo "<br>";
echo "變量 y 是:$y";
}
myTest();
echo "<p>測試函數(shù)之外的變量:</p>";
echo "變量 x 是:$x";
echo "<br>";
echo "變量 y 是:$y";
?>
注釋:您可以在不同的函數(shù)中創(chuàng)建名稱相同的局部變量锣笨,因為局部變量只能被在其中創(chuàng)建它的函數(shù)識別蝌矛。
*global 關(guān)鍵詞
??注意區(qū)分global關(guān)鍵詞和global作用域, 作用域是指起作用的地方错英,global作用域是說某個變量的在全局起作用入撒。global關(guān)鍵詞是實實在在存在存在于PHP代碼中的一個有作用的“詞”!我們使用這個關(guān)鍵字來在函數(shù)內(nèi)訪問全局變量椭岩。如:
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 輸出 15
?>
2. PHP static 關(guān)鍵詞
通常茅逮,當函數(shù)完成/執(zhí)行后,會刪除所有變量判哥。不過献雅,有時我需要不刪除某個局部變量。實現(xiàn)這一點需要在首次聲明變量時使用 static 關(guān)鍵詞:
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>