PHP變量命名規則
1、變量以美元符號$開頭。如$name,$age。
2、美元符號$后面的第一個字符不可以是數字,只能是下划線_或者字母。如$1_1這樣的變量是錯誤的。
3、除了下划線_外,變量不允許出現任何空格或標點符號。也就是說變量名只能包含:a-z、A-Z、0-9 以及下划線_。
4、PHP變量名是區分大小寫的。如$name與$Name是兩個不同的變量。
PHP變量命名規則其余注意事項
1、當用兩個或兩個以上的單詞命名變量時,可以將除第一個單詞以外的所有單詞的首字母大寫。如$myName、$yourFamilyName。
2、以下划線_開始命名的變量通常代表特殊的變量。如在類中創建受保護的屬性、PHP預定義變量($_GET)、全局數組等。
3、定義變量的時候,不要貪圖簡短,而應該使用具有描述性的名稱定義變量。
實例:
<?php $x=5; $y=6; $z=$x+$y; echo $z; ?>
執行結果:11
PHP 變量規則:
- 變量以 $ 符號開頭,其后是變量的名稱
- 變量名稱必須以字母或下划線開頭
- 變量名稱不能以數字開頭
- 變量名稱只能包含字母數字字符和下划線(A-z、0-9 以及 _)
- 變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)
注釋:PHP 變量名稱對大小寫敏感!
PHP 沒有創建變量的命令。
變量會在首次為其賦值時被創建:
實例
<!DOCTYPE html>
<html>
<body>
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;
echo "<br>";
echo $x;
echo "<br>";
echo $y;
?>
</body>
</html>
PHP 變量作用域
在 PHP 中,可以在腳本的任意位置對變量進行聲明。
變量的作用域指的是變量能夠被引用/使用的那部分腳本。
PHP 有三種不同的變量作用域:
- local(局部)
- global(全局)
- static(靜態)
Local 和 Global 作用域
函數之外聲明的變量擁有 Global 作用域,只能在函數以外進行訪問。
函數內部聲明的變量擁有 LOCAL 作用域,只能在函數內部進行訪問。
<!DOCTYPE html> <html> <body><?php $x=5; // global scope function myTest() { $y=10; // local scope echo "<p>在函數內部測試變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; } myTest(); echo "<p>在函數之外測試變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; ?></body> </html>
運行結果
在函數內部測試變量:
變量 x 是:
變量 y 是:10
在函數之外測試變量:
變量 x 是:5
變量 y 是:
在上例中,有兩個變量 $x 和 $y,以及一個函數 myTest()。$x 是全局變量,因為它是在函數之外聲明的,而 $y 是局部變量,因為它是在函數內聲明的。
如果我們在 myTest() 函數內部輸出兩個變量的值,$y 會輸出在本地聲明的值,但是無法 $x 的值,因為它在函數之外創建。
然后,如果在 myTest() 函數之外輸出兩個變量的值,那么會輸出 $x 的值,但是不會輸出 $y 的值,因為它是局部變量,並且在 myTest() 內部創建。
注釋:您可以在不同的函數中創建名稱相同的局部變量,因為局部變量只能被在其中創建它的函數識別。
但是:
在(函數內部)變量前面使用 global 關鍵詞,相當於聲明,我要調用全局變量的$x和$y。
實例
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 輸出 15 ?>
PHP 同時在名為 $GLOBALS[index] 的數組中存儲了所有的全局變量。下標存有變量名。這個數組在函數內也可以訪問,並能夠用於直接更新全局變量。
上面的例子可以這樣重寫:
實例
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 輸出 15
?>
PHP static 關鍵詞
通常,當函數完成/執行后,會刪除所有變量。不過,有時我需要不刪除某個局部變量。實現這一點需要更進一步的工作。
要完成這一點,請在您首次聲明變量時使用 static 關鍵詞:
實例
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
網頁代碼:
<!DOCTYPE html>
<html>
<body>
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
?>
</body>
</html>
執行結果:
0
1
2
3
4
然后,每當函數被調用時,這個變量所存儲的信息都是函數最后一次被調用時所包含的信息。
注釋:該變量仍然是函數的局部變量。
