首頁 > 後端開發 > PHP問題 > php的一些非預定義數組

php的一些非預定義數組

PHPz
發布: 2023-04-20 13:39:45
原創
466 人瀏覽過

在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 or directory"

總結
以上就是PHP中的一些非預先定義數組,包括:$GLOBALS、$HTTP_RAW_POST_DATA、$http_response_header、$argv、$argc和$php_errormsg。了解這些陣列的用途可以幫助我們更好地進行PHP編程。

以上是php的一些非預定義數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板