PHP 中 GPC的思考:$_REQUEST、$_GET、$_POST、$_COOKIE 的關係和區別

PHP中GPC的優先級是可以在設置的,在php.ini中有一個配置,variables_order = "GPCS",這裏就是定義優先級的。

測試開始。

測試1:
PHP 代碼:
echo '<pre>';//源格式打印
//URL加上m=xxoo來測試$_GET
    print_r($_REQUEST);//首先打印內容
    print_r($_GET);

    $_REQUEST = array();//清空$_REQUEST
    echo $_GET['m'];
echo '</pre>'; 
測試結果:$_GET['m']的值是xxoo。

測試2:
PHP 代碼:
echo '<pre>';//源格式打印
//URL加上m=xxoo來測試$_GET
    print_r($_REQUEST);
    print_r($_GET);

    $_GET = array();//清空
    print_r($_REQUEST);
echo '</pre>'; 
測試結果:$_REQUEST['m']的值是xxoo。

結論:對$_REQUEST的操作沒有影響到$_GET,反之亦然。$_REQUEST只是包含了一個$_GET的副本(the same as $_POST 哈哈)。

總結:
$_REQUEST、$_GET、$_POST、$_COOKIE 的關係和區別。
1.關係:$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有內容,是它們的集合體。
2.$_GET、$_POST、$_COOKIE在$_REQUEST中都有一個副本。改變$_REQUEST的值不影響$_GET等,反之亦然。
3.GPC同名情況下,$_REQUEST中的值依據php.ini中variables_order的配置來確定優先級!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章