php變數作用域
阿新 • • 發佈:2021-06-15
摘自:https://www.cnblogs.com/dumenglong/p/11183884.html
作用域:變數能被訪問到的區域 。php中的作用域與js中有所不同
js中函式內可以直接訪問到全域性變數,而在php中則無法直接訪問
php變數的作用域可以分為三種
一、全域性變數;
簡單理解,就是函式外部定義的變數,只能在函式外部進行訪問
二、區域性變數;
其實就是函式內部定義的變數,只能在函式內部使用
三、超全域性變數;
系統定義的變數,包括的全部變數,任何地方都能訪問
如何實現函式內部與函式外部的互相訪問?
首先看一段程式碼,這樣是無法執行的
1 $a="123"; 2 3 functionfun(){ 4 5 echo $a; 6 7 } 8 fun();
解決辦法有三種:
1、在函式中傳入引數$a
1 2 3 4 5 6 7 8 |
$a= "123" ;
function fun($a){
echo $a;
}
fun($a);
|
1 2 3 4 5 6 7 8 |
$a= "123" ;
function fun(){
echo $GLOBALS[ 'a' ];
}
fun();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
全域性空間已存在變數,區域性訪問全域性
$a= "123" ;
function fun(){
global $a;
echo $a;
}
fun();
全域性空間不存在這個變數,全部訪問區域性
function fun(){
global $a;
$a= "123" ;
}
fun();
echo $a;
|