全局變量和局部變量(global關鍵字)


1、定義在函數外部的就是全局變量,它的作用域從定義處一直到文件結尾。

2、函數內定義的變量就是局部變量,它的作用域為函數定義范圍內。

3、函數之間存在作用域互不影響。

4、函數內訪問全局變量需要 global 關鍵字或者使用 $GLOBALS[index] 數組

在 php 中函數是有獨立的作用域,所以局部變量會覆蓋全局變量,即使局部變量中並定義沒有全局變量相同的變量,也會被覆蓋。如下:

<?php $a=5;//全局變量 $b=3;//全局變量 function t() {
  $c;//局部變量
  $c=$a-$b; echo $c; // 輸出 0 } t(); ?>

要想在函數中直接使用全局變量可以通過 global 關鍵字聲明或者通過 php 中自定義的 $GLOBALS數組獲取,PHP 將所有全局變量存儲在一個名為 $GLOBALS[index] 的數組中。 index 保存變量的名稱。這個數組可以在函數內部訪問,也可以直接用來更新全局變量。:

<?php $a=5;//全局變量 $b=3;//全局變量 function t1() { global $a,$b; echo $a-$b; // 輸出 2 } t1(); echo PHP_EOL; function t2() { echo $GLOBALS['a']-$GLOBALS['b']; // 輸出 2 } t2(); ?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM