>백엔드 개발 >PHP 문제 >PHP의 미리 정의되지 않은 일부 배열

PHP의 미리 정의되지 않은 일부 배열

PHPz
PHPz원래의
2023-04-20 10:10:05452검색

PHP 개발에서 미리 정의된 배열은 프로그래머가 자주 사용하는 데이터 구조 중 하나입니다. PHP에서 사전 정의된 배열은 변수 이름 앞에 특수 문자로 표시됩니다. 예를 들어 $_GET, $_POST 및 $_COOKIE는 모두 PHP에서 사전 정의된 배열입니다. 그러나 때때로 우리는 PHP의 미리 정의된 배열이 아닌 배열을 발견하게 됩니다. 이러한 특이한 배열을 어떻게 처리해야 합니까? 이 문서에서는 미리 정의되지 않은 일부 배열을 소개합니다.

  1. $GLOBALS
    $GLOBALS는 스크립트의 모든 전역 변수에 대한 참조를 포함하는 전역 변수 배열입니다. 이는 $GLOBALS를 어디서나 사용하여 전역 변수에 액세스할 수 있음을 의미합니다. 예:
$var1 = 'Hello';
$var2 = 'World';

function myFunc() {
    echo $GLOBALS['var1'] . ' ' . $GLOBALS['var2'];
}

myFunc(); // 输出:Hello World
  1. $HTTP_RAW_POST_DATA
    이 배열에는 원본 POST 요청 데이터가 포함되어 있습니다. PHP 5.6 이전에는 HTTP 프로토콜을 사용하여 데이터를 제출할 때 이 배열이 POST 요청에 제출된 데이터를 직접 얻을 수 있었습니다. 그러나 PHP 5.6 버전부터 이 배열은 더 이상 사용되지 않습니다. POST 요청 데이터를 가져와야 하는 경우 $_POST 배열을 사용해야 합니다.
  2. $http_response_header
    이 배열은 HTTP 요청의 응답 헤더 정보를 포함하며 일반적으로 HTTP 요청의 상태 코드를 얻는 데 사용됩니다. 예:
$fileContent = file_get_contents('http://www.example.com/');
print_r($http_response_header);

// 输出:
// Array
// (
//     [0] => HTTP/1.1 200 OK
//     [1] => Date: Thu, 23 Sep 2021 13:28:50 GMT
//     [2] => Server: Apache
//     [3] => X-Powered-By: PHP/7.4.23
//     ...
// )
  1. $argv 및 $argc
    이 두 배열은 PHP 스크립트가 시작될 때 전달되는 명령줄 매개변수를 얻는 데 사용됩니다. $argc 배열에는 매개변수 개수가 포함되고, $argv 배열에는 매개변수 목록이 포함됩니다. 예를 들어 명령줄에서 다음 스크립트를 실행합니다.
php myScript.php arg1 arg2 arg3

스크립트의 $argc 및 $argv를 통해 매개변수 정보를 얻을 수 있습니다.

<?php
// myScript.php
echo "参数个数:" . $argc . "\n";
echo "参数列表:";
print_r($argv);
?>

출력:

参数个数:4
参数列表:Array
(
    [0] => myScript.php
    [1] => arg1
    [2] => arg2
    [3] => arg3
)
  1. $php_errormsg
    이 배열에는 다음과 같은 최신 오류가 포함되어 있습니다. 오류 정보를 트리거했습니다. 예:
$fileHandle = fopen('not-exist-file.txt', 'r');
if (!$fileHandle) {
    echo $php_errormsg;
}

출력: "fopen(not-exist-file.txt): failed to open stream: No such file ordirectory"

Summary
위는 다음을 포함하여 PHP에서 미리 정의되지 않은 배열입니다. $ GLOBALS , $HTTP_RAW_POST_DATA, $http_response_header, $argv, $argc 및 $php_errormsg. 이러한 배열의 목적을 이해하면 PHP를 더 잘 프로그래밍하는 데 도움이 될 수 있습니다.

위 내용은 PHP의 미리 정의되지 않은 일부 배열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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