PHP의 global 키워드 및 $GLOBALS 사용법

WBOY
풀어 주다: 2016-08-08 09:19:33
원래의
1098명이 탐색했습니다.

<span><span><?php<br>$a </span><span>= </span><span>1</span><span>; </span><span>/* <span>global</span> scope */<br></span><span>function </span><span>Test</span><span>()<br>{<br> echo </span><span>$a</span><span>; </span><span>/* reference to local scope variable */<br></span><span>}<br></span><span>Test</span><span>();<br></span><span>?></span></span>

echo 문이 $a 변수의 로컬 버전을 참조하므로 이 스크립트는 출력을 생성하지 않습니다. , 이 범위 내에서는 값이 할당되지 않습니다. PHP의 전역 변수는 C 언어와 약간 다르다는 것을 알 수 있습니다. C 언어에서 전역 변수는 로컬 변수에 의해 재정의되지 않는 한 자동으로 함수에 적용됩니다. 이로 인해 일부 문제가 발생할 수 있으며 누군가 실수로 전역 변수를 변경할 수도 있습니다. PHP의 전역 변수는 다음과 같이 선언되어야 합니다. 글로벌.

global 키워드

먼저 global 사용 예:

예제 #1 global

<code><span><span><?php<br>$a </span><span>= </span><span>1</span><span>;<br></span><span>$b </span><span>= </span><span>2</span><span>;<br>function </span><span>Sum</span><span>()<br>{<br> <span>global</span> </span><span>$a</span><span>, </span><span>$b</span><span>;<br> </span><span>$b </span><span>= </span><span>$a </span><span>&#43; </span><span>$b</span><span>;<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?></span></span>

$a

사용

=

1;
$b =

2

;
함수 합계

()
{

전역

$a, $b

;
 

<span><span><?php<br>$a </span><span>= </span><span>1</span><span>;<br></span><span>$b </span><span>= </span><span>2</span><span>;<br>function </span><span>Sum</span><span>()<br>{<br> </span><span>$GLOBALS</span><span>[</span><span>'b'</span><span>] = </span><span>$GLOBALS</span><span>[</span><span>'a'</span><span>] &#43; </span><span>$GLOBALS</span><span>[</span><span>'b'</span><span>];<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?>$b = <p>$a <var><var>+ </var></var>$b<var><var>;<br>}<br></var></var>합</p> <p>();<br>에코 </p> <p></p>$b<p></p> <p>;<br><code><span><span><?php<br></span><span>function </span><span>test_<span>global</span></span><span>()<br>{<br> </span><span>// 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域中有效。<br> </span><span><span>global</span> </span><span>$HTTP_POST_VARS</span><span>;<br> echo </span><span>$HTTP_POST_VARS</span><span>[</span><span>'name'</span><span>];<br> </span><span>// Superglobals 在任何范围内都有效,它们并不需要 'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。<br> </span><span>echo </span><span>$_POST</span><span>[</span><span>'name'</span><span>];<br>}<br></span><span>?></span></span>

?>

위 스크립트의 출력은 "3"입니다. 함수에서 전역 변수

$a 및 $b를 선언한 후 두 변수에 대한 모든 참조는 전역 버전을 가리킵니다. PHP는 함수가 선언할 수 있는 전역 변수의 최대 개수에 제한이 없습니다. 전역 범위의 변수에 액세스하는 두 번째 방법은 특수 PHP 사용자 정의를 사용하는 것입니다. $GLOBALS 배열. 이전 예는 다음과 같이 작성할 수 있습니다. 예 #2 $GLOBALS 사용 대체전역<?php<br>$a <🎜><🎜>= <🎜 ><🎜>1<🎜><🎜>;<br><🎜><🎜>$b <🎜><🎜>= <🎜><🎜>2<🎜><🎜>;<br>기능 <🎜 ><🎜>합계<🎜><🎜>()<br>{<br> <🎜><🎜>$GLOBALS<🎜><🎜>[<🎜><🎜>'b'<🎜><🎜> ] = <🎜><🎜>$GLOBALS<🎜><🎜>[<🎜><🎜>'a'<🎜><🎜>] + <🎜><🎜>$GLOBALS<🎜><🎜>[< 🎜><🎜>'b'<🎜><🎜>];<br>}<br><🎜><🎜>합<🎜><🎜>();<br>에코 <🎜><🎜>$ b<🎜><🎜>;<br><🎜><🎜>?>$GLOBALS 은 연관 배열이고, 각 변수는 요소이며, 키 이름은 변수 이름에 해당하고, 값은 변수의 내용에 해당합니다. $GLOBALS 은 $GLOBALS가 슈퍼전역 변수이기 때문에 전역 범위에 존재합니다. 다음 예에서는 슈퍼전역 변수의 사용을 보여줍니다. 예제 #3 슈퍼전역 변수 및 범위를 보여주는 예<?php<br><🎜>< 🎜>함수 <🎜><🎜>test_<🎜>global<🎜><🎜><🎜>()<br>{<br> <🎜><🎜>// 대부분의 사전 정의된 변수는 "super"가 아니며 ' global' 키워드를 사용하면 함수의 로컬 범위에서 사용할 수 있습니다. [ <🎜><🎜>'name'<🎜><🎜>];<br> <🎜><🎜>// 슈퍼전역은 모든 범위에서 유효하며 '전역' 선언이 필요하지 않습니다. 슈퍼글로벌은 PHP 4.1.0에서 도입되었습니다. <br> <🎜><🎜>에코 <🎜><🎜>$_POST<🎜><🎜>[<🎜><🎜>'이름'<🎜><🎜>];<br>}<br>< 🎜><🎜>?> 위 내용은 관련 내용을 포함하여 PHP에서 글로벌 키워드와 $GLOBALS의 사용법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!