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的配置来确定优先级!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章