PHP의 global_php 기술에 대한 심층적인 이해

WBOY
풀어 주다: 2016-05-16 20:38:15
원래의
990명이 탐색했습니다.

1. 구현 원칙
PHP 함수에서는 전역 구문이 비교적 일반적입니다. 함수에서 외부 변수를 전역화하면 해당 변수를 함수에서 사용할 수 있다는 사실을 누구나 알고 있지만 많은 네티즌들은 이를 모르는 경우가 많습니다. 이제 마지막 예를 들어보면 누구나 한 눈에 알 수 있을 것입니다.

코드 복사 코드는 다음과 같습니다.

$globalStr = '.net';

globalTest() 함수{

글로벌 $globalStr;

$globalStr = 'jb51'.$globalStr;

설정 해제($globalStr);

}

글로벌 테스트();

echo $globalStr; //입력: jb51.net


이 예에서 변수를 전역화하는 것은 참조를 전달하는 것과 동일하다는 것을 알 수 있습니다. 이러한 방식으로 이해하면 다음 코드 출력은 이해하기 어렵지 않습니다.

2. PHP에서 글로벌의 역할

코드 복사 코드는 다음과 같습니다.

전역 $var1,$var2;

이는 동일한 이름을 가진 외부 변수에 대한 참조이며, 변수 자체의 범위는 여전히 함수 본문 내에 있습니다. 이러한 변수의 값을 변경하면 자연스럽게 같은 이름을 가진 외부 변수도 변경됩니다. 그러나 일단 &가 사용되면 변수는 더 이상 같은 이름의 참조가 아닙니다.
코드 복사 코드는 다음과 같습니다.

$var1 = 1;
$var2 = 2;
기능 테스트()
{
Global $var1,$var2; // 범위는 함수 본문 내에 있습니다.
$var1 = 3;
}
테스트();
에코 $var1;
?>

결과는 3입니다. 같은 이름의 참조이기 때문입니다.
코드 복사 코드는 다음과 같습니다.

$var1 = 1;
$var2 = 2;
기능 테스트()
{
전역 $var1,$var2;
$var1 = &var2;
}
테스트();
에코 $var1
?>

결과는 1입니다. 함수의 $var1은 할당 후 $var2와 동일한 참조를 갖기 때문입니다. 아래 코드를 자세히 살펴보세요.
코드 복사 코드는 다음과 같습니다.

$var1 = 1; $var2 = 2; 함수 test_global()
{ 
글로벌 $var1,$var2
$var1=&$var2
$var1=7; }
테스트_글로벌()
에코 $var1; 에코 $var2;
?>

결과는 1과 7입니다. 함수 내의 $var1과 $var2는 동일한 참조를 갖기 때문입니다. 따라서 $var1의 값이 변경되고 $var2의 값이 변경됩니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿