php中使用$_REQUEST需要注意的一個問題
問題
說起$_REQUEST,大家都知道的是它是$_GET和$_POST的集合。但是如果你有心的話,查一下文檔,會看到:
$_REQUEST
An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.
這里說$_REQUEST默認(rèn)是$_GET, $_POST, $_COOKIE的集合,結(jié)果我使用我本地的php查看了一下發(fā)現(xiàn)只有$_GET, $_POST, 沒有$_COOKIE!! 難道文檔是錯的?
答案
其實changelog中有給出解釋:

版本5.3以上,php.ini中有request_order屬性來設(shè)置$_REQUEST。查了下php.ini, request_order設(shè)置成為了GP(Get and Post)。
request_order的官網(wǎng)描述:
request_order string
This directive describes the order in which PHP registers GET, POST and Cookie variables into the _REQUEST array. Registration is done from left to right, newer values override older values.
If this directive is not set, variables_order is used for $_REQUEST contents.
Note that the default distribution php.ini files does not contain the 'C' for cookies, due to security concerns.
原來是G,P,C分別代表Get,Post,Cookie,5.3以上的版本request_order默認(rèn)是設(shè)置成GP的,并不包含C,即$_REQUEST默認(rèn)只包含$_GET和$_POST !! (所以官網(wǎng)文檔有一定的誤導(dǎo))。
也同時說一下G,P,C的先后順序就是設(shè)置的array的覆蓋順序。
提醒下如果你是使用fpm-php實驗的話,改了php.ini后你需要重啟php-fpm
- PHP全局變量與超級全局變量區(qū)別分析
- 認(rèn)識并使用PHP超級全局變量
- PHP超級全局變量數(shù)組小結(jié)
- PHP利用超級全局變量$_POST來接收表單數(shù)據(jù)的實例
- PHP利用超級全局變量$_GET來接收表單數(shù)據(jù)的實例
- php中g(shù)lobal和$GLOBALS[]的分析之一
- PHP中全局變量global和$GLOBALS[]的區(qū)別分析
- PHP中$GLOBALS與global的區(qū)別詳解
- PHP global全局變量經(jīng)典應(yīng)用與注意事項分析【附$GLOBALS用法對比】
- PHP $_SERVER詳解
- php中$_REQUEST、$_POST、$_GET的區(qū)別和聯(lián)系小結(jié)
- PHP超級全局變量【$GLOBALS,$_SERVER,$_REQUEST等】用法實例分析
相關(guān)文章
php操作redis中的hash和zset類型數(shù)據(jù)的方法和代碼例子
這篇文章主要介紹了php操作redis中的hash和zset類型數(shù)據(jù)的方法和代碼例子,本文共介紹了26組函數(shù)或方法,需要的朋友可以參考下2014-07-07
Laravel 實現(xiàn)在Blade模版中使用全局變量代替路徑的例子
今天小編就為大家分享一篇Laravel 實現(xiàn)在Blade模版中使用全局變量代替路徑的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
laravel框架關(guān)于搜索功能的實現(xiàn)
本文是作者整理的關(guān)于laravel框架搜索功能的實現(xiàn)原理,并附上了詳細(xì)代碼,有需要的小伙伴請持續(xù)關(guān)注!2018-03-03
php實現(xiàn)按文件名搜索文件的遠(yuǎn)程文件查找器
php文件查找程序,輸入一個路徑確定后會遍歷目錄下所有的文件和文件夾,通過遞歸可以找到文件夾下面的每一個文件,再通過文件名和輸入的關(guān)鍵字匹配,則可以查找到你想要的文件2014-05-05

