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

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

Jun 03, 2021 pm 05:59 PM
全域變數

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

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

C++ 函數的局部變數和全域變數有什麼不同? C++ 函數的局部變數和全域變數有什麼不同? Apr 19, 2024 pm 03:42 PM

C++局部變數和全域變數的差異:可見性:局部變數僅限於定義函數,而全域變數在整個程式中可見。記憶體分配:局部變數在堆疊上分配,而全域變數在全域資料區分配。作用域:局部變數在函數內,而全域變數在整個程式中。初始化:局部變數在函數呼叫時初始化,而全域變數在程式啟動時初始化。重新創建:局部變數在每次函數呼叫時重新創建,而全域變數僅在程式啟動時創建。

php request什麼意思 php request什麼意思 Jul 07, 2021 pm 01:49 PM

request的中文意思是“請求”,是php中的一個全域變量,是一個包含了“$_POST”、“$_GET”和“$_COOKIE”的數組。 「$_REQUEST」變數可以取得POST或GET方式提交的資料、COOKIE資訊。

go語言有靜態全域變數麼 go語言有靜態全域變數麼 Jul 11, 2023 pm 03:37 PM

go語言沒有靜態全域變量,它使用了一種更靈活的方式來處理全域變量的需求,全域變量通常是在包級被聲明,也就是在函數外部聲明的變量,這些變量在整個包中均是可見的,可以在套件中的任何函數中使用。

在JavaScript中實現全域變數的安全性 在JavaScript中實現全域變數的安全性 Jun 15, 2023 pm 10:33 PM

隨著JavaScript的流行,越來越多的網站和應用程式都依賴JavaScript。然而,JavaScript中全域變數的使用可能存在安全性問題。在此文中,我將介紹如何在JavaScript中實現全域變數的安全性。避免使用全域變數最好的方法是避免使用全域變數。在JavaScript中,所有變數都預設為全域變量,除非它們在函數中聲明。因此,應盡可能使用局部變數

Golang函數的全域變數和局部變數的資料競爭分析 Golang函數的全域變數和局部變數的資料競爭分析 May 21, 2023 am 08:19 AM

Golang是一種強型別程式語言,具有高效、簡潔、並發等特點,因此逐漸受到了越來越多的開發者的青睞。而在Golang的開發中,函數的全域變數和局部變數往往涉及資料競爭的問題。本文將從實際編碼的角度,對Golang函數中全域變數和局部變數的資料競爭問題進行分析。一、全域變數的資料競爭Golang全域變數在所有函數中均可訪問,因此如果不進行嚴謹的設計與編碼

C程式中全域變數的重新聲明 C程式中全域變數的重新聲明 Sep 20, 2023 pm 10:29 PM

我們將了解在不初始化的情況下重新宣告全域變數、透過初始化重新宣告全域變數、重新宣告全域變數並初始化兩次時,C和C++的行為有何不同。另外,我們將使用局部變數重複上述組合。 1.A)C程式:重新宣告全域變數而不進行初始化#include<stdio.h>intvar;intvar;intmain(){  printf("Var=%d",var);  return0;}輸出Var=0B) C++程式:

golang函數能否在goroutine中直接存取全域變數? golang函數能否在goroutine中直接存取全域變數? May 01, 2024 pm 05:51 PM

是的,Go函數在Goroutine中預設可以直接存取全域變數。原因:Goroutine繼承創建它的Goroutine的記憶體空間,包括對全域變數的存取權。

php全域變數都有哪些 php全域變數都有哪些 Aug 01, 2023 pm 01:21 PM

php全域變數有:1、$_SERVER,目前腳本運行的伺服器和執行環境資訊的超全域變數;2、$_GET,透過GET方法傳遞給目前腳本的變數的關聯數組;3、$_POST,透過POST方法傳遞給目前腳本的變數的關聯陣列;4、$_SESSION,儲存目前工作階段中使用者相關資訊;5、$_COOKIE,透過HTTP Cookie傳遞給目前腳本的變數的關聯陣列;6、$_FILES等等。

See all articles