>  기사  >  백엔드 개발  >  PHP에서 global과 $GLOBALS의 차이점 소개

PHP에서 global과 $GLOBALS의 차이점 소개

黄舟
黄舟원래의
2017-09-25 09:15:231145검색

1.global

Global의 역할은 전역 변수를 정의하는 것이지만, 이 전역 변수는 웹사이트 전체에 적용되는 것이 아니라 현재 페이지(include 또는 require에 있는 모든 파일 포함)에 적용됩니다.

 단, 함수 몸체 내에 정의된 전역 변수는 함수 몸체 내에서 사용할 수 있지만, 함수 몸체 외부에서 정의한 전역 변수는 함수 몸체 내에서 사용할 수 없습니다.

(1) 함수 본문 내에서 사용할 수 있는 전역 변수를 함수 본문에 정의합니다.


<?PHP 
$a=123; 
function aa() 
{ 
Global $a; //把$a定义为global变量。 echo $a; //调用函数体外的变量} 
aa(); //输出结果为123,说明函数体内可以使用函数体外的变量;?>

(2) 전역 변수는 함수 본문 외부에서 정의하고 함수 본문 내부에서는 사용할 수 없습니다.


<?PHP 
$a=123; 
Global $a; //在函数体外把$a定义为global变量。 function aa() 
{  
  echo $a; 
} 
aa();//会报错,不能输出变量a。?>

2.$GLOBALS

$GLOBALS 배열에서 각 변수는 요소이고 키 이름은 변수 이름에 해당하며 값은 변수의 내용에 해당합니다. $GLOBALS는 슈퍼전역 변수이기 때문에 $GLOBALS는 전역 범위에 존재합니다. $GLOBALS의 작성 방법에 주의하세요. 예를 들어 $a1 변수는 $GLOBALS['a1']로 작성됩니다.

예: 먼저 전역 정의를 사용하세요


<?PHP 
$a1 = 1; 
$a2 = 2; 
function Sum() 
{ 
  global a1, a2;a2 = a1 + a2; //定义变a1和a2;}
Sum(); 
echo a2; //输出结果为3?>

$GLOBALS를 사용하여 전역 변수를 정의하세요


<?PHP 
$a1 = 1; 
$a2 = 2;function Sum() 
{ 
  $GLOBALS[&#39;a1&#39;] = $GLOBALS[&#39;a1&#39;] + $GLOBALS[&#39;a2&#39;]; //定义变量时每个都要定义}
Sum(); 
echo a2; //输出结果为2?>

eg: global


function test() 
{ 
    global $a;//定义全局变量a 
    unset($a); //删除变量a
    //print $a;//会报错,因为unset已经把$a删除了。 } 
$a = 2; //定义一个变量atest(); //调用test()方法print $a; //输出a,输出的其实是$a = 2,所以结果为2.

eg: $GLOBALS


rr 리

위 내용은 PHP에서 global과 $GLOBALS의 차이점 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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