>백엔드 개발 >PHP 튜토리얼 >PHP 전역 변수와 슈퍼 전역 변수_php 기술의 차이점 분석

PHP 전역 변수와 슈퍼 전역 변수_php 기술의 차이점 분석

WBOY
WBOY원래의
2016-05-16 19:55:111225검색

이 글에서는 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 작업 및 연산자 사용법 요약", "PHP 네트워크 프로그래밍 기술 요약", " PHP 기본 구문 입문 튜토리얼", "PHP 오피스 문서 조작 스킬 요약(워드, 엑셀, 액세스, ppt 포함)", "요약 PHP 날짜 및 시간 사용법》, "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php mysql 데이터베이스 운영 입문 튜토리얼" 그리고 "PHP의 일반적인 데이터베이스 운영 기술 요약"

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

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