为什么要在PHP中合并$ _GET和$ _POST?

Jas*_*vis 9 php array-merge

我刚刚在学习wordpress源代码(PHP)时看到了这段代码,你可以看到它们是mergre /将所有get和post值转换为1个请求数组.

现在据我所知,$ _GET和$ _POST已经可以通过调用$ _REQUEST 而不使用array_merge()函数,所以任何想法为什么他们会这样做?

$_REQUEST = array_merge($_GET, $_POST);
Run Code Online (Sandbox Code Playgroud)

Dec*_*ler 18

这是因为默认$_REQUEST是的合并$_GET,$_POST$_COOKIE.此外,这些超全局变量的合并顺序$_REQUEST取决于ini设置variables_order,PHP 5.3.0也可能受其影响 request_order.所以我的想法是,开发人员希望确保$_REQUEST只包含$_GET$_POST,合并在那个特定的顺序,如果他没有获得INI设置(例如共享的主机上).您看到,variables_order并且request_order不能基于每个脚本进行配置.

HTH


Fra*_*rth 6

$_REQUEST包含的内容$_GET,$_POST以及$_COOKIE默认的阵列.也许他们想要从中排除COOKIE变量,因为它通常不用于此目的.