當前位置:
首頁 > 知識 > 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 變數

與代數類似,可以給 PHP 變數賦予某個值(x=5)或者表達式(z=x+y)。

變數可以是很短的名稱(如 x 和 y)或者更具描述性的名稱(如 age、carname、totalvolume)。

PHP 變數規則:

  • 變數以 $ 符號開始,後面跟著變數的名稱

  • 變數名必須以字母或者下劃線字元開始

  • 變數名只能包含字母數字字元以及下劃線(A-z、0-9 和 _ )

  • 變數名不能包含空格

  • 變數名是區分大小寫的($y 和 $Y 是兩個不同的變數)

PHP 變數



創建(聲明)PHP 變數

PHP 沒有聲明變數的命令。

變數在您第一次賦值給它的時候被創建:

實例

<?php$txt="Hello world!";$x=5;$y=10.5;?>

運行實例 ?

在上面的語句執行中,變數 txt 將保存值 Hello world!,且變數 x 將保存值 5

注釋:當您賦一個文本值給變數時,請在文本值兩側加上引號。



PHP 是一門弱類型語言

在上面的實例中,我們注意到,不必向 PHP 聲明該變數的數據類型。

PHP 會根據變數的值,自動把變數轉換為正確的數據類型。

在強類型的編程語言中,我們必須在使用變數前先聲明(定義)變數的類型和名稱。



PHP 變數作用域

變數的作用域是腳本中變數可被引用/使用的部分。

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

  • local

  • global

  • static

  • parameter


局部和全局作用域

在所有函數外部定義的變數,擁有全局作用域。除了函數外,全局變數可以被腳本中的任何部分訪問,要在一個函數中訪問一個全局變數,需要使用 global 關鍵字。

在 PHP 函數內部聲明的變數是局部變數,僅能在函數內部訪問:

實例

<?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";

?>

運行實例 ?

在以上實例中 myTest() 函數定義了 $x 和 $y 變數。 $x 變數在函數外聲明,所以它是全局變數 , $y 變數在函數內聲明所以它是局部變數。

當我們調用myTest()函數並輸出兩個變數的值, 函數將會輸出局部變數 $y 的值,但是不能輸出 $x 的值,因為 $x 變數在函數外定義,無法在函數內使用,如果要在一個函數中訪問一個全局變數,需要使用 global 關鍵字。

然後我們在myTest()函數外輸出兩個變數的值,函數將會輸出全局部變數 $x 的值,但是不能輸出 $y 的值,因為 $y 變數在函數中定義,屬於局部變數。

PHP 變數



PHP global 關鍵字

global 關鍵字用於函數內訪問全局變數。

在函數內調用函數外定義的全局變數,我們需要在函數中的變數前加上 global 關鍵字:

實例

<?php$x=5;$y=10;
functionmyTest(){global$x,$y; $y=$x+$y;}myTest();echo$y; // 輸出 15?>

運行實例 ?

PHP 將所有全局變數存儲在一個名為 $GLOBALS[index] 的數組中。 index 保存變數的名稱。這個數組可以在函數內部訪問,也可以直接用來更新全局變數。

上面的實例可以寫成這樣:

實例

<?php$x=5;$y=10;
functionmyTest(){$GLOBALS["y"]=$GLOBALS["x"]+$GLOBALS["y"];}myTest();echo$y;?>

運行實例 ?



Static 作用域

當一個函數完成時,它的所有變數通常都會被刪除。然而,有時候您希望某個局部變數不要被刪除。

要做到這一點,請在您第一次聲明變數時使用 static 關鍵字:

實例

<?phpfunctionmyTest(){static$x=0; echo$x; $x++;}myTest();myTest();myTest();?>

運行實例 ?

然後,每次調用該函數時,該變數將會保留著函數前一次被調用時的值。

注釋:該變數仍然是函數的局部變數。


參數作用域

參數是通過調用代碼將值傳遞給函數的局部變數。

參數是在參數列表中聲明的,作為函數聲明的一部分:

實例

<?phpfunctionmyTest($x){echo$x;}myTest(5);?>

變數是用於存儲數據的容器。

PHP 語句和 PHP 變數都是區分大小寫的。

你可以在不同函數中使用相同的變數名稱,因為這些函數內定義的變數名是局部變數,只作用於該函數內。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

PHP 簡介
PHP 安裝
Foundation CSS 可見性

TAG:程序員小新人學習 |

您可能感興趣

PHP 第一個PHP程序
PHPRAP 1.0.0 發布,打造PHP版API介面管理系統!
PHP 刪除數組中的元素
使用PHP編寫HTTP伺服器
PHP-Beast 加密你的PHP源代碼
PHP的純CPU基準測試
PHP 解析 XML
PHP PDO fetch 模式各種參數的輸出結果一覽
PHP程序的JSON
PHP PDO 簡單教程
系統學習PHP之API介面
PHP 生成 CSV 文件
PHP 使用 Redis
如何在 HTTP 頭中隱藏 PHP 版本號
幾張圖為你分析HTML、JS與PHP之間的數據傳輸
PHP 已死?
PHP MySql 分頁實例
正式支持 PHP 7.X
啟用PHP程序
PHP 登錄類