>  기사  >  백엔드 개발  >  PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까

PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2021-09-17 17:33:023081검색

차이점: 1. 지역 변수는 함수 내부에 정의된 변수이며 정의된 함수 내에서만 사용할 수 있습니다. 전역 변수는 모든 함수 외부에서 정의된 변수이며 해당 범위는 현재 소스 코드 내 어디에나 있지만 내부에는 없습니다. 함수 내에서는 사용할 수 없습니다. 2. 지역변수는 함수 호출이 종료되면 자동으로 소멸되며, 전역변수는 프로그램이 종료될 때까지 소멸되지 않습니다.

PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

변수의 범위(사용할 수 있는 범위)를 변수 범위라고 하며, 변수는 다음과 같아야 합니다. 유효한 범위 내에서 사용됩니다. 유효한 범위를 벗어나면 변수는 의미를 잃습니다. PHP 변수는 범위에 따라 전역 변수와 지역 변수의 두 가지 유형으로 나눌 수 있습니다.

현재 소스 코드 내 어디에서나(함수 외부) 사용할 수 있는 변수를 전역 변수라고 하며, 해당 변수가 정의된 함수 내부에서만 사용할 수 있는 전역 변수를 지역 변수라고 합니다. 그들은 지역 범위를 가지고 있습니다.

PHP에서는 전역 변수를 함수 내부에서 직접 사용할 수 없고, 지역 변수를 함수 외부에서 직접 사용할 수 없습니다. 물론 이것이 절대적인 것은 아닙니다. 일부 방법을 통해서는 함수 내에서 전역 변수를 호출하고 함수 외부에서 로컬 변수를 호출하는 것이 여전히 가능합니다.

로컬 변수와 로컬 범위

로컬 변수는 함수 내부에 정의된 변수입니다. 정의된 함수 내에서만 사용할 수 있습니다. 지역 변수는 함수 호출이 끝나면 자동으로 소멸됩니다.

【예제】다음은 example이라는 함수를 정의하고, 함수 내부에 지역 변수 a를 정의한 후, 함수 내부와 함수 외부에 변수 a의 값을 출력하려고 합니다.

<?php
header("Content-type:text/html;charset=utf-8");
function example() {
	$a = "欢迎来到PHP中文网!";
	// 在函数内定义变量 a
	echo "局部变量 a 的值为:" . $a . "<br>";
}

example();
if ($a) {// 在函数外部调用 $a,如果 $a 存在则会打印下面的内容
	echo "在函数外部调用函数内的局部变量 a,其值为:" . $a;
}
?>

실행 결과는 다음과 같습니다.

PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까

실행 결과를 보면 함수 내부에 정의된 로컬 변수를 함수 외부에서 호출할 수 없음을 알 수 있습니다. 왜냐하면 로컬 변수 $a의 범위가 example()이기 때문입니다. 이를 정의하고 함수 외부에서 사용할 수 없는 함수입니다.

전역 변수 및 전역 범위

전역 변수는 모든 함수 외부에서 정의된 변수입니다. 해당 범위는 현재 소스 코드의 어느 위치에나 있지만 함수 내에서는 사용할 수 없습니다. 전역 변수는 프로그램이 실행되는 동안 항상 존재하며 프로그램이 종료될 때만 삭제됩니다.

[예제] 전역 변수 a를 정의하고, 함수 내부와 외부에 전역 변수의 값을 출력합니다. 구체적인 코드는 다음과 같습니다.

<?php
header("Content-type:text/html;charset=utf-8");
$a = "欢迎来到PHP中文网!";
// 在函数外部定义全局变量 a
function example() {
	if ($a) {
		echo "在函数内部调用全局变量 a,其值为:" . $a;
	}
}

example();
echo "在函数外部调用全局变量 a,其值为:" . $a;
?>

실행 결과는 다음과 같습니다.

PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까

다음과 같습니다. 실행 결과를 보면 $a 함수 내부에서는 성공적으로 호출되지 않았으나, 함수 외부에서는 가능했습니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 전역 변수와 지역 변수의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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