php中作用域的概念,理解PHP中變量的作用域

作用域是指在一個腳本中某個變量可以使用或可見的范圍。PHP具有6項基本的作用域規則。

1.內置超級全局變量可以在腳本的任何地方使用和可見。例如:

//print_r($_SERVER['HTTP_HOST']);//$_SERVER['HTTP_HOST']是一個超級全局變量,值為localhost

function test(){

echo $_SERVER['HTTP_HOST'];//輸出localhost,表明超級全局變量在函數中可見,而且不需要提前聲明

}

test();

echo $_SERVER['HTTP_HOST'];//輸出localhost,表明超級全局變量在函數外可見

?>

2.常量,一旦被聲明,將可以在全局可見;也就是說,它們可以在函數內外使用。

define('USERNAME', "root");//聲明常量,常量名字要用引號括起來

function test(){

echo USERNAME;//輸出root,表明常量在函數中可見

}

test();

echo USERNAME;//輸出root,表明常量在函數外可見

?>

3.在一個腳本中聲明的全局變量在整個腳本中是可見的,但不是在函數內部。

$num = 100;

function test(){

echo $num;//報錯,未定義變量$num;Notice: Undefined variable: num in E:\app\phpstudy\WWW\test\index.php on line 4

}

test();

echo $num;

?>

4.函數內部使用的變量聲明為全局變量時,其名稱要與全局變量名稱一致。

$num = 100;

function test(){

global $num;//要使用關鍵字global

echo $num;//輸出100

}

test();

echo $num;//輸出100

?>

$num = 100;

function test(){

global $num;//要使用關鍵字global

$num = 200;

echo $num;//輸出200

}

test();

echo $num;//輸出200,函數中修改了全局變量的值

?>

5.在函數內部創建並被聲明為靜態的變量無法再函數外部可見,但是可以在函數的多彩執行過程中保持該值。

function test(){

//函數中定義的靜態變量是屬於這個函數的

static $static_num = 1;

$static_num++;

echo $static_num;

}

test();//輸出2

test();//輸出3

//echo $static_num;//函數中定義的靜態變量在函數外部不可見,此處會報錯

?>

6.在函數內部創建的變量對函數來說是本地的,而當函數終止時,該變量也就不存在了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值