php教程 php手册 PHP中全局变量global和$GLOBALS[]有什么样的区别

PHP中全局变量global和$GLOBALS[]有什么样的区别

Jun 06, 2016 pm 08:41 PM
global 전역 변수

$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针

一、举例比较
例一:
复制代码 代码如下:
$var1 = 1;
function test(){
unset($GLOBALS['var1']);
}
test();
echo $var1;
?>

因为$var1被删除了,所以什么东西都没有打印。
例二:
复制代码 代码如下:
$var1 = 1;
function test(){
global $var1;
unset($var1);
}
test();
echo $var1;
?>

意外的打印了1。证明删除的只是别名引用,其本身的值没有受到任何的改变。

二、解释
global $var其实就是&$GLOBALS['var'],调用外部变量的一个别名而已。
上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是两个不同的变量。
PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。
PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

三、结论
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까? C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까? Apr 19, 2024 pm 03:42 PM

C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까?

Go 언어에는 정적 전역 변수가 있나요? Go 언어에는 정적 전역 변수가 있나요? Jul 11, 2023 pm 03:37 PM

Go 언어에는 정적 전역 변수가 있나요?

PHP 요청은 무엇을 의미합니까? PHP 요청은 무엇을 의미합니까? Jul 07, 2021 pm 01:49 PM

PHP 요청은 무엇을 의미합니까?

JavaScript에서 전역 변수 안전성 구현 JavaScript에서 전역 변수 안전성 구현 Jun 15, 2023 pm 10:33 PM

JavaScript에서 전역 변수 안전성 구현

Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석 Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석 May 21, 2023 am 08:19 AM

Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석

Xiaomi 메시 시스템 AC1200: 최대 370평방미터를 지원하는 새로운 Wi-Fi 메시 시스템이 전 세계적으로 출시됩니다. Xiaomi 메시 시스템 AC1200: 최대 370평방미터를 지원하는 새로운 Wi-Fi 메시 시스템이 전 세계적으로 출시됩니다. Jun 19, 2024 pm 12:13 PM

Xiaomi 메시 시스템 AC1200: 최대 370평방미터를 지원하는 새로운 Wi-Fi 메시 시스템이 전 세계적으로 출시됩니다.

C 프로그램에서 전역 변수 재선언 C 프로그램에서 전역 변수 재선언 Sep 20, 2023 pm 10:29 PM

C 프로그램에서 전역 변수 재선언

Hashkey Global은 Binance Platform Coin BNB의 출시를 발표했습니다! Zhao Changpengque는 실수를했습니다 Hashkey Global은 Binance Platform Coin BNB의 출시를 발표했습니다! Zhao Changpengque는 실수를했습니다 Mar 04, 2025 am 06:36 AM

Hashkey Global은 Binance Platform Coin BNB의 출시를 발표했습니다! Zhao Changpengque는 실수를했습니다

See all articles