1. 程式人生 > 其它 >php變數作用域

php變數作用域

摘自:https://www.cnblogs.com/dumenglong/p/11183884.html

作用域:變數能被訪問到的區域 。php中的作用域與js中有所不同

js中函式內可以直接訪問到全域性變數,而在php中則無法直接訪問

php變數的作用域可以分為三種

一、全域性變數;

簡單理解,就是函式外部定義的變數,只能在函式外部進行訪問

二、區域性變數;

其實就是函式內部定義的變數,只能在函式內部使用

三、超全域性變數;

系統定義的變數,包括的全部變數,任何地方都能訪問

如何實現函式內部與函式外部的互相訪問?

首先看一段程式碼,這樣是無法執行的

1 $a="123";
2  
3 function
fun(){ 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);
2、使用超全域性變數$GLOBALS在函式內部進行訪問
1 2 3 4 5 6 7 8 $a="123"; function fun(){ echo $GLOBALS['a']; } fun();
3、實現全域性和區域性的互相訪問。使用Global關鍵字
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;