>  기사  >  백엔드 개발  >  PHP의 변수 범위는 무엇입니까

PHP의 변수 범위는 무엇입니까

怪我咯
怪我咯원래의
2017-06-19 14:56:161102검색

변수의 범위는 변수가 정의된 컨텍스트(즉, 변수가 적용되는 범위)입니다. 대부분의 PHP 변수에는 단일 범위만 있습니다. 이 단일 범위 범위에는 include 및 require

에 의해 도입된 파일도 포함됩니다. 예:

코드는 다음과 같습니다.

<?php 
$a = 1; 
include &#39;b.inc&#39;; 
?>

여기서 $a 변수는 include 파일 b.inc에 적용됩니다. 그러나 사용자 정의 함수에는 로컬 함수 범위가 도입됩니다. 함수 내에서 사용되는 모든 변수는 기본적으로 로컬 함수의 범위로 제한되며 현재는 로컬 변수입니다.  
  PHP의 전역 변수는 함수에서 사용될 때 전역으로 선언되어야 합니다.
  함수 내에서 전역 변수를 사용하여 선언한 변수는 전역 변수이므로 함수 외부에서도 사용할 수 있습니다. 참고: 변수를 전역적으로 선언하는 경우 변수에 직접 값을 할당할 수 없습니다. 먼저 변수를 선언한 다음 값을 할당해야 합니다.

  전역 범위에서는
$GLOBALS를 통해 전역 변수에 액세스할 수도 있습니다. 함수 내에서 전역 변수에 액세스하기 위해 global 키워드를 사용할 필요는 없습니다. $GLOBALS는 연관 배열이고, 각 변수는 요소이며, 키 이름은 변수 이름에 해당하고, 값은 변수의 내용에 해당합니다. $GLOBALS는 수퍼글로벌 변수이기 때문에 $GLOBALS는 전역 범위에 존재합니다.   상수는 변수의 범위에 관계없이 어디서든 정의하고 액세스할 수 있습니다.
변수 범위의 또 다른 중요한 기능은 정적 변수(정적 변수
)입니다. 정적 변수는 로컬 함수 범위에만 존재하지만 프로그램 실행이 이 범위를 벗어나도 해당 값은 손실되지 않습니다. 정적 변수는 첫 번째 호출에서만 초기화됩니다. 선언 시 값을 할당할 수 있지만 표현식 값은 될 수 없습니다. 선언의 표현식 결과와 함께 이를 할당하면 구문 분석 오류가 발생합니다.
정적 변수에 참조(&가 포함된 변수 또는 개체)가 할당되면 해당 참조는 정적으로 저장되지 않으며 함수가 두 번째 호출될 때 정적 변수의 값이 기억되지 않습니다. 마찬가지로 참조(&가 포함된 변수 또는 개체)가 전역 변수에 할당되면 이 변수의 변경은 함수 외부에는 영향을 주지 않으며 범위는 함수 내부에만 적용됩니다.

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

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