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),也可以取更具描述性的名稱(比如 carname、total_volume)。
PHP 變數規則:
· 變數以 $ 符號開頭,其後是變數的名稱
· 變數名稱必須以字母或下劃線開頭
Advertisements
· 變數名稱不能以數字開頭
· 變數名稱只能包含字母數字字元和下劃線(A-z、0-9 以及 _)
· 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
註釋:PHP 變數名稱對大小寫敏感!
創建 PHP 變數
PHP 沒有創建變數的命令。
變數會在首次為其賦值時被創建:
實例
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
以上語句執行后,變數 txt 會保存值 Hello world!,變數 x 會保存值 5,變數 y 會保存值 10.5。
註釋:如果您為變數賦的值是文本,請用引號包圍該值。
PHP 是一門類型鬆散的語言
在上面的例子中,請注意我們不必告知 PHP 變數的數據類型。
Advertisements
PHP 根據它的值,自動把變數轉換為正確的數據類型。
在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變數之前聲明它的名稱和類型。
PHP 變數作用域
在 PHP 中,可以在腳本的任意位置對變數進行聲明。
變數的作用域指的是變數能夠被引用/使用的那部分腳本。
PHP 有三種不同的變數作用域:
· local(局部)
· global(全局)
· static(靜態)
Local 和 Global 作用域
函數之外聲明的變數擁有 Global 作用域,只能在函數以外進行訪問。
函數內部聲明的變數擁有 LOCAL 作用域,只能在函數內部進行訪問。
下面的例子測試了帶有局部和全局作用域的變數:
實例
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>測試函數內部的變數:</p>";
echo "變數 x 是:$x";
echo "<br>";
echo "變數 y 是:$y";
}
myTest();
echo "<p>測試函數之外的變數:</p>";
echo "變數 x 是:$x";
echo "<br>";
echo "變數 y 是:$y";
?>
註釋:您可以在不同的函數中創建名稱相同的局部變數,因為局部變數只能被在其中創建它的函數識別。
PHP global 關鍵詞
global 關鍵詞用於訪問函數內的全局變數。
要做到這一點,請在(函數內部)變數前面使用 global 關鍵詞:
<?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();
?>
然後,每當函數被調用時,這個變數所存儲的信息都是函數最後一次被調用時所包含的信息。
註釋:該變數仍然是函數的局部變數。
著些都是要必學的前段知識,都很基礎也很重要!