PHP의 모든 변수에는 변수(및 해당 값)에 액세스할 수 있는 영역인 특정 범위가 있습니다.
우선 변수의 범위는 해당 변수가 있는 페이지입니다. 따라서 $var를 정의하면 페이지의 나머지 부분에서는 $var에 액세스할 수 있지만 일반적으로 다른 페이지에서는 $var에 액세스할 수 없습니다(특수 변수를 사용하지 않는 한). (추천 학습: PHP 프로그래밍 초보부터 마스터까지)
include 파일은 원본(포함된) 스크립트의 일부인 것처럼 작동하기 때문에 include() 줄 앞에 정의된 변수는 포함된 파일에서 사용할 수 있습니다. 또한, 포함 파일 내에 정의된 변수는 include() 줄 뒤의 상위(포함) 스크립트에서 사용할 수 있습니다.
자신이 정의한 함수를 사용하면 이 모든 것이 덜 명확해집니다. 이러한 함수에는 자체 범위가 있습니다. 즉, 함수 내에서 사용되는 변수는 함수 외부에서 사용할 수 없고, 함수 외부에서 정의된 변수는 함수 내부에서 사용할 수 없습니다. 이러한 이유로 함수 내부의 변수는 외부 변수와 동일한 이름을 가질 수 있지만 여전히 값이 다른 완전히 다른 변수입니다. 대부분의 주니어 프로그래머에게 이는 혼란스러운 개념입니다.
함수 내에서 변수의 범위를 변경하려면 global 문을 사용할 수 있습니다.
<?php function function_name() { global $var; } $var = 20; function_name(); // Function call. ?>
이 예에서 함수 내부의 $var는 이제 함수 외부의 $var와 동일합니다. 즉, $var 변수에는 이미 20이라는 값이 있고, 이 값이 함수 내부에서 변경되면 외부의 $var 값도 변경된다는 의미입니다.
변수 범위를 피하는 또 다른 방법은 슈퍼전역 변수($_GET, $_POST, $_REQUEST 등)를 사용하는 것입니다. 이러한 변수는 함수 내에서 자동으로 액세스할 수 있습니다(따라서 슈퍼전역 변수입니다). 함수 내에서 사용할 수 있도록 $GLOBALS 배열에 요소를 추가할 수도 있습니다.
즉, 함수 내에서는 전역 변수를 사용하지 않는 것이 가장 좋습니다. 함수를 설계할 때 필요에 따라 모든 값을 매개변수로 받아들이고 필요에 따라 값을 반환하도록 해야 합니다. 함수 내에서 전역 변수에 의존하면 함수가 상황에 더 의존하게 되어 유용성이 떨어집니다.
일단 선언되면 상수는 전역적으로 표시됩니다. 즉, 함수 내부 및 외부에서 사용할 수 있지만 이는 한 페이지에 포함된 PHP 스크립트(include 및 include_once를 통해 포함하는 PHP 스크립트 포함)로만 제한됩니다. 다른 페이지에서는 더 이상 사용할 수 없습니다.
위 내용은 PHP 상수의 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!