在 $_REQUEST、$_GET 和 $_POST哪一个是最快的?

php
2022-08-30 06:28:44

这些代码中哪一个会更快?

$temp = $_REQUEST['s'];

if (isset($_GET['s'])) {
  $temp = $_GET['s'];
}
else {
  $temp = $_POST['s'];
}

答案 1

默认情况下,$_REQUEST 包含 和 的内容。$_GET$_POST$_COOKIE

但这只是一个默认值,这取决于variables_order;并且不确定是否要使用 Cookie。

如果我必须选择,我可能不会使用,我会选择或 - 取决于我的应用程序应该做什么(即一个或另一个,但不是两者兼而有之):一般来说:$_REQUEST$_GET$_POST

  • 当有人您的应用程序请求数据时,应使用。$_GET
  • 当有人将(插入或更新;或删除)数据推送(插入或删除)到您的应用程序时您应该使用。$_POST

无论哪种方式,性能都不会有太大差异:与脚本的其余部分相比,差异可以忽略不计。


答案 2

获取与发布

1) GET 和 POST 都创建一个数组(例如 array( key = > value, key2 => value2, key3 => value3, ...))。此数组保存键/值对,其中键是窗体控件的名称,值是来自用户的输入数据。

2)GET和POST都被视为$ _GET和$ _POST。这些是超全局的,这意味着它们始终是可访问的,无论范围如何 - 您可以从任何函数,类或文件访问它们,而无需执行任何特殊操作。

3) $_GET 是通过 URL 参数传递给当前脚本的变量数组。

4) $_POST 是通过 HTTP POST 方法传递给当前脚本的变量数组。

何时使用 GET?

使用 GET 方法从窗体发送的信息对所有人都可见(所有变量名称和值都显示在 URL 中)。GET 对要发送的信息量也有限制。限制约为 2000 个字符。但是,由于变量显示在 URL 中,因此可以对页面添加书签。这在某些情况下很有用。

GET 可用于发送非敏感数据。

注意:GET 绝不能用于发送密码或其他敏感信息!

何时使用开机自检?

使用 POST 方法从窗体发送的信息对其他人不可见(所有名称/值都嵌入在 HTTP 请求的正文中),并且对要发送的信息量没有限制。

此外,POST还支持高级功能,例如在将文件上传到服务器时支持多部分二进制输入。

但是,由于变量未显示在 URL 中,因此无法为页面添加书签。


推荐