>  기사  >  백엔드 개발  >  PHP 전역 전역 변수를 사용하는 방법

PHP 전역 전역 변수를 사용하는 방법

怪我咯
怪我咯원래의
2017-06-19 16:16:433915검색

전역 변수 및 "전역" 키워드

PHP는 기본적으로 일부 "수퍼전역" 변수를 정의합니다. 이러한 변수는 자동으로 전역화되며 $_GET 및 $_REQUEST 등과 같이 프로그램 어디에서나 호출할 수 있습니다. 일반적으로 데이터나 기타 외부 데이터에서 가져오며 이러한 변수를 사용해도 기본적으로 쓰기가 불가능하므로 일반적으로 문제가 발생하지 않습니다. 하지만 자신만의 전역 변수를 사용할 수 있습니다. "global" 키워드를 사용하면 전역 데이터를 함수의 로컬 범위로 가져올 수 있습니다. "가변 사용 범위"가 이해가 되지 않는다면 PHP 매뉴얼의 관련 지침을 참조하세요. 다음은 "global" 키워드를 사용한 데모 예입니다.

<?php
$my_var = &#39;Hello World&#39;;
test_global();
function test_global() {
    // Now in local scope
     // the $my_var variable doesn&#39;t exist
     // Produces error: "Undefined variable: my_var"
    echo $my_var;
    // Now let&#39;s important the variable
    global $my_var;
    // Works:
    echo $my_var;
}
?>

위 예에서 볼 수 있듯이 "global" 키워드는 전역 변수를 가져오는 데 사용됩니다. 훌륭하게 작동하고 단순해 보이는데, 글로벌 데이터를 정의하기 위해 "global" 키워드를 사용하는 것에 대해 왜 걱정합니까?

업계에 처음 입문하는 분들을 위해 전역 변수, "전역 변수"의 사용법을 설명하겠습니다. 이 명사에 있는 "전역"이라는 두 단어는 이미 이 변수가 모든 곳에서 사용될 수 있음을 알려줍니다. :

<?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b; //在里面声明为全局变量
    $b = $a + $b;
}
Sum();
echo $b;
?>
결과: 3글로벌 변수 global이 없으면 메소드에서 $a, $b의 값을 얻을 수 없으므로 메소드에서 외부 변수를 사용하려면 이 변수를 선언해야 합니다. 먼저 전역 변수로 사용할 수 있도록 하여 사용하는 것이 매우 편리합니다.

<?PHP
      $w3sky = 1;
      $w3sky2 = 2;
function Sum()
       {
       global $w3sky, $w3sky2;$w3sky2 = $w3sky + $w3sky2;
       }Sum();
       echo $w3sky2;
       ?>

위 스크립트의 출력은 "3"입니다. 전역 변수 $w3sky 및 $w3sky2는 함수에서 선언되며 모든 변수의 모든 참조 변수는 전역 변수를 가리킵니다. PHP는 함수가 선언할 수 있는 전역 변수의 최대 개수에 제한이 없습니다.

전역 범위의 변수에 액세스하는 두 번째 방법은 특별한 PHP 사용자 정의 $GLOBALS 배열을 사용하는 것입니다. 이전 예제

는 다음과 같이 작성할 수 있습니다.

예제 $GLOBALS를 사용하여 global

<?PHP
       $w3sky = 1;
       $w3sky2 = 2;function Sum()
       {
       $GLOBALS[&#39;w3sky&#39;] = $GLOBALS[&#39;w3sky&#39;] + $GLOBALS[&#39;w3sky2&#39;];
       }Sum();
       echo $w3sky2;
       ?>
을 대체합니다. $GLOBALS 배열에서 각 변수는 요소이고 키 이름은 변수 이름

에 해당하고 값은 해당 변수의 내용

. $GLOBALS는 수퍼글로벌 변수이기 때문에 $GLOBALS는 전역 범위에 존재합니다. 다음 예제는 슈퍼 전역 변수의 사용을 보여줍니다.

슈퍼 전역 변수 및 범위 예제를 보여주는 예제

<?PHP
       function test_global()
       {
       // 大多数的预定义变量并不 "super",它们需要用 &#39;global&#39; 关键字来使它们在函
数的本地区域中有效。
       global $HTTP_POST_VARS;echo $HTTP_POST_VARS[&#39;name&#39;];// Superglobals 在任何
范围内都有效,它们并不需要 &#39;global&#39; 声明。Superglobals 是在 PHP 4.1.0 引入的。
       echo $_POST[&#39;name&#39;];
       }
       ?>

global 즉, 파일에서 전역 $db로 선언하면 선언 아래에 나타납니다. 이제 다음 $db

<?php
function SayMyABCs2()
{
     global $count;
     while($count<10)
        {
           print(chr(ord(&#39;A&#39;)+$count));
           $count=$count+1; 
        }
     print("<br>Now I know $count letters<br>");
}
$count=0;
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
?>
출력을 참조할 수 있습니다.
ABCDEFGHIJ         //第一次循环依次打印10个大写字母
Now I know 10 letters
Now I&#39;ve made 11 function call(s).       //第二次由于条件大于10则不执行循环

Now I know 11 letters
Now I&#39;ve made 12 function call(s).
변수의 전역 선언으로 인해 이제 $count 변수가 하나만 있으며
가 호출될 때 함수 내부와 외부 모두에서 증가합니다. 두 번째로 SayMyABCs2()일 때 $count는 이미 11이므로 문자 인쇄 루프에 전혀 들어가지 않습니다. 함수 내에 정의된

변수의 범위는 기본적으로 해당 함수로 제한됩니다. 전역 선언을 사용하면

이제 변수 이름을 환경에서와 동일한 이름으로 만들어야 함을 PHP에 알릴 수 있습니다. 기능의 바깥. 선언 형식: global,

$count1,$count2,...,$countn;

global은 특히 코드가 실행되기 전에 각각에 연결될 수 있는 일부 변수를 제공하므로 유용합니다. 페이지에서 함수가 이러한 변수를 볼 수 있도록 하여 호출될 때마다 함수에 매개변수로 전달하는


문제를 제거합니다

위 내용은 PHP 전역 전역 변수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.