首頁 > 後端開發 > PHP問題 > PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

慕斯
發布: 2023-03-10 11:00:02
原創
4142 人瀏覽過

上篇文章為大家介紹了《鮮為人知的函數變數作用域(實現步驟)》,本文繼續介紹全域變數如何定義?如何聲明?起作用是什麼?一起學習吧!

PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

全域變數:

  • 普通變數:普通變數是指函數外部宣告的變量,其作用範圍是整個頁面的部分,而函數的內部無法使用;

  • 全域變數:在函數的內部和外部都可以存取和使用的變數是全域變數;

#
<?php
     /****** 普通变量*/
     $pome = &#39;你最喜欢的唯美古诗词有哪些?&#39;;
     function pome(){
         echo $pome;
     }
     pome();
  
  
?>
登入後複製

示範結果:

PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

程式碼解析:

定義一個function,pome() ,緊接著我們能否使用函數外部定義變數呢?根據我們程式碼運行的結果可以看出並不行,結果依舊顯示未定義,也就是說,當我們在函數內部定義變數然後輸出(echo),結果會出現我們沒有定義此變量,因此我們知道,普通變量是指函數外部宣告的變量,其作用範圍是整個頁面的部分,而函數的內部無法使用;

程式碼示範如下:

<?php
     /****** 普通变量*/
     $pome = &#39;你最喜欢的唯美古诗词有哪些?&#39;;
     function pome(){
         echo $pome;
     }
     pome();
     echo $pome;
     
  
   
?>
登入後複製

PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

##程式碼解析:

首先在函數的外部定義一個變量,接著,在函數內部定義一個函數function demo(),如果我們想做出全域變數我們需要在函數內部聲明一個與​​外部同名的變量,聲明完變量,我們需要使用一個關鍵字叫做(global),來聲明一個與外部同名的變量,此時就是一個全局變量,最後輸出(echo)此內容,演示代碼如下:

<?php
     /****** 全局变量*/
     $str = &#39;树叶落到木地板上,说了一句,我喜欢你&#39;;
     function demo(){
         global $str;
         echo $str;
     }
  demo();
   
?>
登入後複製

1PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

當我們在函數內部嘗試改變$str的值,是怎麼樣的?示範程式碼如下:

<?php
     /****** 全局变量*/
     $str = &#39;树叶落到木地板上,说了一句,我喜欢你&#39;;
     function demo(){
         global $str;
         echo $str;
         $str = &#39;我也喜欢你&#39;;
     }
  echo &#39;这是第一个在函数外部输出:&#39;. $str;
  echo &#39;<hr/>&#39;;
  echo &#39;这是在函数内部输出&#39;.demo();
  echo &#39;<hr/>&#39;;
  echo &#39;这是第二个在函数外部输出:&#39;. $str;
?>
登入後複製
程式碼示範如下:

PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)

#綜上所示:

實作全域變數方法1:

  • 在函數內部有一個變數

  • 在函數外部同樣具有一個同名變量

  • 在函數內部的同名變數前使用global關鍵字修飾,既可以實現全域變數

注意:global宣告全域變數是禁止賦值。

如果一個變數在函數內部已經賦值,之後使用global進行全域化聲明,結果是該變數的值變成函數外部變數的值

實作全域變數方法2:

$GLOBALS

-在函數內部可以使用$GL0BALS[變數名稱]的方式直接呼叫函數外部的變數值,此時函數內外都可以使用,實作了另-種方式的

全域變數。

推薦學習:《

PHP影片教學

以上是PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板