php中自變數 PHP 變數

2021-10-22 21:19:52 字數 2002 閱讀 3847

php 變數作用域

變數的作用域是指令碼中變數可被引用和使用的部分,php 中有四種不同的變數作用域:

序號作用域

描述local

區域性作用域

global

全域性作用域

static

靜態作用域

parameter

函式引數作用域

1、local(本地的)—— 區域性變數的作用域

在 php 函式內部宣告的變數是區域性變數,僅能在函式內部訪問。

function test()

$a = 15;

echo "內部輸出結果:" . $a;

echo "外部輸出結果:" . $a; // 無法訪問變數 a

echo php_eol;

test();

輸出結果:

外部輸出結果:

內部輸出結果:15

2、global(總體的)—— 全域性變數的作用域

在所有函式外部定義的變數是全域性變數,除了函式外,全域性變數可以被指令碼中的任何部分訪問、要在乙個函式中訪問乙個全域性變數,需要使用 global 關鍵字。

$x = 5;

$y = 10;

$z = 0;

function test()

global$x,$y,$z;

$z = $x + $y;

test();

echo $z;

結果:15

php 將所有的全域性變數儲存在乙個名為 $globals[index] 的陣列裡,index 儲存變數的名稱。

這個陣列可以在函式內部訪問,也可以直接用來更新全域性變數。

$x = 5;

$y = 10;

$z = 0;

function test()

$globals['z'] = $globals['x']+$globals['y'];

test();

echo $z;

結果:15

3、static(靜態的)—— static 作用域

當乙個函式執行完成時,它的所有變數通常都會被刪除。

然而,有時需要區域性變數不要被刪除,要做到這一點,請在您第一次宣告變數時使用 static 關鍵字。

當乙個函式完成時,它的所有變數通常都會被刪除。然而,有時候您希望某個區域性變數不要被刪除。

function test() {

static $x=0;

echo $x . " ";

$x++;

test();

test();

test();

test();

結果:0 1 2 3

每次呼叫函式時, 該變數將會保留請前函的前被呼叫的值一次。

4、parameter(引數)——引數作用域

引數是通過呼叫**將值傳遞給函式的區域性變數。

關於區域性變數和全域性變數的優先順序,因為在php中函式都有自己單獨的作用域,所以在區域性變數的優先順序要大於全域性變數(在你不宣告這個變數之前),宣告之後此變數就變成了區域性變數如果修改值那麼全域性變數的值也會改變。

$a = 10;

$b = 5;

function test()

$a = 15;

$b = 5;

$z = $a-$b;

echo $z;

test();

function test1()

global $a,$b;

$a = 15;

$b = 5;

$z = $a-$b;

echo php_eol;

echo $z;

test1();

function test2()

global $a,$b;

$z= $a-$b;

echo php_eol;

echo $z;

test2();

結果:10 10 10

南宮晟醺

南宮晟醺

132***[email protected]個月前 (09-07)

php快取變數 在PHP中快取變數

對於分析,可以使用xdebug,它在已定義的資料夾中儲存分析資訊,並使用webgrind檢視分析資料。我在php.ini中為xdebug設定 zend extension c web php ts php xdebug 2.1.0 5.3 vc6.dll xdebug.collect params ...

PHP 中的變數

變數用於儲存值,比如數字 文字字串或陣列。一旦設定了某個變數,我們就可以在指令碼中重複地使用它。php 中的所有變數都是以 符號開始的。在 php 中設定變數的正確方法是 var name value php 的入門者往往會忘記在變數的前面的 符號。如果那樣做的話,變數將是無效的。讓我們試著建立乙個...

PHP中的變數

變數是儲存內容的別稱,就像人名是人的代稱一樣,php中的變數用來指代數值 字串 陣列等,它的命名要遵守一定的規則 php變數命名規則 變數要以美元符號 開頭,如 abc 2 定義乙個變數abc 變數的名稱必須以字母或者下劃線開頭,不能以數字開頭,如 nba 2 a 3 分別定義兩個變數並給予賦值 變...