當前位置:才華齋>計算機>php語言>

PHP的變數介紹

php語言 閱讀(2.39W)

引導語:變數是一段有名字的連續儲存空間。在原始碼中通過定義變數來申請並命名這樣的儲存空間,並通過變數的名字來使用這段儲存空間。以下是小編整理的PHP的變數介紹,歡迎參考閱讀!

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 變數規則

變數以 $ 符號開頭,其後是變數的名稱

變數名稱必須以字母或下劃線開頭

變數名稱不能以數字開頭

變數名稱只能包含字母數字字元和下劃線(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 變數的資料型別。

PHP 根據它的值,自動把變數轉換為正確的資料型別。

在諸如 C 和 C++ 以及 Java 之類的語言中,程式設計師必須在使用變數之前宣告它的名稱和型別。

  PHP 變數作用域

在 PHP 中,可以在指令碼的任意位置對變數進行宣告。

變數的作用域指的是變數能夠被引用/使用的那部分指令碼。

PHP 有三種不同的變數作用域:

local(區域性)

global(全域性)

static(靜態)

Local 和 Global 作用域

函式之外宣告的變數擁有 Global 作用域,只能在函式以外進行訪問。

函式內部宣告的變數擁有 LOCAL 作用域,只能在函式內部進行訪問。

下面的例子測試了帶有區域性和全域性作用域的變數:

例項

<?php

$x=5; // 全域性作用域

function myTest() {

$y=10; // 區域性作用域

echo "

測試函式內部的變數:

";

echo "變數 x 是:$x";

echo "
";

echo "變數 y 是:$y";

}

myTest();

echo "

測試函式之外的變數:

";

echo "變數 x 是:$x";

echo "
";

echo "變數 y 是:$y";

?>

在上例中,有兩個變數 $x 和 $y,以及一個函式 myTest()。$x 是全域性變數,因為它是在函式之外宣告的,而 $y 是區域性變數,因為它是在函式內宣告的。

如果我們在 myTest() 函式內部輸出兩個變數的值,$y 會輸出在本地宣告的值,但是無法 $x 的值,因為它在函式之外建立。

然後,如果在 myTest() 函式之外輸出兩個變數的值,那麼會輸出 $x 的`值,但是不會輸出 $y 的值,因為它是區域性變數,並且在 myTest() 內部建立。

註釋:您可以在不同的函式中建立名稱相同的區域性變數,因為區域性變數只能被在其中建立它的函式識別。

  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();

?>

然後,每當函式被呼叫時,這個變數所儲存的資訊都是函式最後一次被呼叫時所包含的資訊。

註釋:該變數仍然是函式的區域性變數。