>  기사  >  백엔드 개발  >  PHP의 전역 변수와 슈퍼 전역 변수의 차이점

PHP의 전역 변수와 슈퍼 전역 변수의 차이점

巴扎黑
巴扎黑원래의
2017-05-25 17:41:351283검색

이 글에서는 주로 PHP 전역변수와 슈퍼 전역변수의 차이점을 소개합니다. 좀 더 자세한 분석은 PHP 전역변수와 슈퍼 전역변수의 개념과 사용법, 차이점을 설명하고 있으니 참고하시기 바랍니다

이 글에서는 PHP 전역 변수와 슈퍼 전역 변수의 차이점을 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

전역 변수는 함수 외부에서 정의된 변수입니다. 함수에서 직접 사용할 수 없습니다. 그 범위가 함수 내부로 들어가지 않기 때문입니다. 따라서 함수 내부에서 사용하면 global $a;

수퍼 전역 변수 범위는 모든 스크립트에서 유효합니다. 따라서 해당 기능을 직접 사용할 수 있습니다. 예를 들어 $_GET 및 $_SERVER는 슈퍼 전역 변수입니다. $_GET, $_POST, $_SERVER, $_COOKIE 등을 제외한 슈퍼글로벌 변수는 $GLOBALS 배열에 저장됩니다. 참고: $_GLOBALS를 실수로 쓰지 마세요. $_POST의 영향을 조금 받습니다.

$GLOBAL은 특별한 PHP 사용자 정의 배열입니다. 슈퍼 전역 변수. $_SERVER와 마찬가지로 모두 슈퍼 전역 변수입니다.

수퍼글로벌 변수의 구체적인 사용법과 사용법은 매뉴얼에서 $GLOBALS를 검색해 보세요.

변수 이름은 배열의 인덱스입니다. 설명: $GLOBALS['a']를 사용하여 슈퍼 전역 변수를 정의한 후입니다. 매뉴얼에 설명된 대로 $a를 사용하여

에 직접 액세스할 수 있습니다.

$GLOBALS — 전역 범위에서 사용 가능한 모든 변수를 참조 모두 참조 전역 범위에서

범위에서 사용 가능한 변수는 예를 통해 이해할 수 있습니다. 변수 $a가 함수 외부에 정의되어 있다고 가정합니다. 그런 다음 $GLOBALS['a']를 사용하여 함수에서 이 변수의 값을 가져올 수 있습니다. 따라서 $GLOBALS 배열 내부에는 모든 사용자 정의 전역 변수가 있습니다.

슈퍼 전역 변수라고 불리는 이유는 무엇인가요? $_POST와 비교하여 함수에서 직접 사용할 수 있습니다. global 문을 전혀 사용할 필요가 없습니다. 따라서 $GLOBALS는 $_POST가 post 메소드에 전달된 변수를 저장한다는 점을 제외하면 동일한 원칙을 갖습니다. $GLOBALS는 사용자 정의 전역 변수를 저장합니다.

개인적인 이해:

슈퍼 전역 변수에 대한 이전 이해가 잘못되었습니다. 슈퍼 전역 변수는 모든 스크립트에서 유효합니다. 이 설명으로 인해 이해가 미묘한 차이가 발생했습니다. 모든 스크립트에서 유효하다면 $GLOBALS에 의해 저장된 슈퍼 전역 변수입니까? 하나의 PHP 파일에 정의된 후에도 다른 파일에서 얻을 수 있습니다.

분명히 그렇지는 않을 것입니다. 모든 사람이 접근할 수 있는 것으로 보이기 때문에 아마도 $_POST의 영향을 받을 것입니다. 현재 처리된 $_POST 데이터에만 액세스할 수 있다는 사실을 몰랐습니다. 두 사람이 동시에 메시지를 제출하는 것은 불가능합니다.php 파일에서 얻은 게시물 데이터를 구별하는 방법. 이 데이터는 현재 스레드에만 속할 수 있습니다. 마지막으로 슈퍼 전역 변수는 전역 변수에 상대적이기 때문에 이런 방식으로 볼 수 있습니다. 전역 변수보다 한 수준 높은 전역 변수는 함수 내에서 사용할 수 없습니다. 문제를 해결합니다. 다른 언어에서는 전역 변수를 함수 내에서 사용할 수 있습니다. PHP 언어 디자인에서는 그렇지 않습니다.

전역 변수는 함수 내에서 직접 사용되기 때문에 직접 사용할 수 있는 변수를 제공해야 합니다. 여기에 슈퍼 전역 변수의 개념이 있습니다.

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

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