>  기사  >  백엔드 개발  >  PHP 4개 변수 범위 비교

PHP 4개 변수 범위 비교

怪我咯
怪我咯원래의
2017-06-19 15:05:252131검색

PHP는 상대적으로 느슨한 언어입니다(느슨한 유형의 언어). 변수를 선언할 때 변수 유형(type)을 지정할 필요가 없습니다. PHP는 할당된 값에 따라 자동으로 변수 유형을 결정합니다. 변수에. 변수를 선언할 때 유형을 지정할 필요는 없지만 지정해야 하는 한 가지가 있습니다. 바로 변수의 범위입니다. PHP에는 로컬, 글로벌, static, 매개변수의 네 가지 사용 범위가 있으며 이에 대해서는 아래에서 별도로 소개합니다.

로컬 변수(로컬 변수)
 함수에서 선언하면 선언된 함수(로컬 범위)에서만 사용할 수 있습니다. 동일한 이름을 가진 지역 변수는 다른 함수에서 선언될 수 있습니다.
 변수 함수 선언이 끝나면 지역 변수는 적용되지 않습니다.
 선언 시 키워드를 사용할 필요가 없습니다.
$a = 5; //전역 변수
functionmyTest()
{echo $a; }
myTest();
 위의 예에서는 $a에 함수에 지정된 값이 없으므로 아무것도 입력하지 않습니다.

전역변수(global Variable)
 함수 외부에서 선언한 것인데, 함수 내부의 스크립트가 접근할 수 없다는 점을 제외하면, 웹 페이지 전체의 스크립트가 변수(전역 범위)에 접근할 수 있습니다. 함수에서 전역 변수를 사용하려면 global 키워드를 사용해야 합니다. 아래 예를 참조하세요.
 웹 페이지를 닫으면 전역 변수가 작동하지 않습니다.

$a = 5;
$b = 10;
functionmyTest()
{
global $a,$b;//注意这行
$b = $a +$b;
}
myTest();
echo $b;

 위 예의 출력은 15입니다.
전역 변수가 선언되면 PHP는 이를 array $GLOBALS[index]에 배치합니다. 여기서 index는 변수의 이름입니다. 함수에서 이 배열에 액세스하거나 배열의 요소에 값을 직접 할당하여 값을 변경할 수 있습니다. 위의 예를 다음과 같이 다시 작성합니다.

$a = 5;
$b = 10;
functionmyTest()
{
$GLOBALS['b']= $GLOBALS['a'] + $GLOBALS['b'];
}
myTest();
echo $b;

 staticvariable(정적 변수)
  앞에서 언급했듯이 로컬 변수는 function이 끝나면 아무런 효과가 없습니다. 그러나 때로는 함수가 종료될 때 지역 변수가 무효화되지 않도록 하려는 경우 지역 변수를 처음 선언하기 전에 -- static 키워드를 추가할 수 있습니다.
static$rememberMe;
 이렇게 하면 함수가 호출될 때마다 이 변수에는 함수가 마지막으로 호출되었을 때 얻은 값이 포함됩니다.
정적 변수는 여전히 지역 변수라는 점에 유의해야 합니다.
 매개변수(매개변수 또는 인수)
 매개변수는 함수 호출 시 전달되는 지역 변수를 의미합니다. 함수 선언 시 매개변수 목록(parameter list)에 선언됩니다.
functionmyTest($para1,$para2,...)//괄호 안에 선언됨
{//함수 소스 프로그램}


위 내용은 PHP 4개 변수 범위 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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