<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>+ </span><span>$b</span><span>;<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?></span></span>
1;
$b =
;
함수 합계
전역
$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>] + </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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.