>백엔드 개발 >PHP 문제 >PHP에서 전역 배열은 무엇을 의미합니까?

PHP에서 전역 배열은 무엇을 의미합니까?

WBOY
WBOY원래의
2022-09-20 17:15:332311검색

PHP에서 전역 데이터의 전체 이름은 슈퍼 전역 배열 또는 슈퍼 전역 변수입니다. PHP에서 특별히 정의된 배열 변수입니다. 슈퍼 전역 배열은 스크립트 내 모든 범위에서 액세스할 수 있습니다. 모든 범위에서 항상 사용할 수 있습니다.

PHP에서 전역 배열은 무엇을 의미합니까?

이 기사의 운영 환경: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터

PHP에서 전역 배열은 무엇을 의미하나요?

php 전역 배열의 전체 이름은 "슈퍼글로벌 배열" 또는 " PHP에서 특별히 정의된 배열 변수는 함수, 클래스, 파일 등 스크립트 내 어디에서나 모든 범위에서 액세스할 수 있기 때문에 슈퍼전역 배열이라고 합니다.

슈퍼 전역 배열 변수는 모든 범위에서 항상 사용할 수 있는 내장 변수입니다.

PHP의 슈퍼 전역 배열에는 다음이 포함됩니다.

  • $GLOBALS

모든 변수 배열을 포함하는 전역 조합입니다. 변수의 이름은 배열의 키입니다.

var_dump($GLOBALS)를 사용하여 인쇄해 보면 $GLOBALS가 모두 포함된 전역 조합 배열임을 알 수 있습니다.

PHP 8.1.0부터 $GLOBALS는 이제 전역 기호 테이블의 읽기 전용 복사본입니다. 즉, 전역 변수는 복사를 통해 수정할 수 없습니다. 이전 버전에서는 $GLOBALS 배열과 PHP 배열은 일반적으로 값을 전달할 때 다르게 동작했으며 전역 변수는 복사본을 통해 수정될 수 있었습니다.

PHP 8.1.0 이전:

$a = 1;$globals = $GLOBALS; // 表面意义的按值复制$globals['a'] = 2;   // $GLOBALS['a'] 的值也相应修改
var_dump($a);//运行结果:
int(2)

PHP 8.1.0 이후:

$a = 1;$globals = $GLOBALS;    //表面意义的按值复制$globals['a'] = 2;    // $GLOBALS['a'] 的值不会改变(不再修改 $a)
var_dump($a);//运行结果:
int(1)

이전 동작을 복원하려면 복사본을 반복하고 각 속성을 다시 $GLOBALS에 할당합니다:

foreach ($globals as $key => $value) {
    $GLOBALS[$key] = $value;}
  • $_SERVER

$_SERVER - 서버 및 실행 환경 정보. $_SERVER는 헤더, 경로, 스크립트 위치 등의 정보를 포함하는 배열입니다. 이 배열의 항목은 웹 서버에 의해 생성됩니다.

  • $_GET

URL 매개변수를 통해 현재 스크립트에 전달된 변수 배열입니다. 참고: 이 배열은 GET 메소드를 사용한 요청뿐만 아니라 쿼리 문자열을 사용한 모든 요청에도 효과적입니다.

  • $_POST

미리 정의된 $_POST 변수는 method="post"를 사용하여 양식에서 값을 수집하는 데 사용됩니다.

HTTP POST 요청의 Content-Type이 application/x-www-form-urlencoded 또는 multipart/form-data인 경우 변수는 연관 배열 형식으로 현재 스크립트에 전달됩니다.

POST 메소드를 사용하여 양식에서 전송된 메시지는 누구에게도 보이지 않으며(브라우저의 주소 표시줄에 표시되지 않음) 전송되는 정보의 양에는 제한이 없습니다.
참고: 그러나 기본적으로 POST 메서드로 전송되는 최대 정보량은 8MB입니다(php.ini 파일에서 post_max_size를 설정하여 변경할 수 있음).

  • $_REQUEST

기본적으로 $_GET, $_POST 및 $_COOKIE 배열을 포함합니다. 보안 문제로 인해 $_REQUEST 사용은 피하는 것이 좋습니다.

  • $_COOKIE

HTTP 쿠키를 통해 현재 스크립트에 전달되는 변수 배열입니다.

  • $_SESSION

현재 스크립트에서 사용할 수 있는 SESSION 변수의 배열입니다.

  • $_FILES

HTTP POST를 통해 현재 스크립트에 업로드된 프로젝트 배열입니다.

  • $_ENV

환경을 통해 현재 스크립트에 전달된 변수 배열입니다.

이러한 변수는 PHP 파서의 런타임 환경에서 PHP의 전역 네임스페이스로 가져옵니다. 대부분은 PHP 실행을 지원하는 쉘에서 제공되며, 서로 다른 시스템은 서로 다른 종류의 쉘을 실행할 가능성이 높으므로 명확한 목록은 불가능합니다. 정의된 환경 변수 목록은 쉘 문서를 확인하세요.

다른 환경 변수에는 PHP가 서버 모듈로 실행되는지, CGI 프로세서로 실행되는지에 관계없이 CGI 변수가 포함됩니다.

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

위 내용은 PHP에서 전역 배열은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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