在 $_REQUEST、$_GET 和 $_POST哪一个是最快的?
这些代码中哪一个会更快?
$temp = $_REQUEST['s'];
或
if (isset($_GET['s'])) {
$temp = $_GET['s'];
}
else {
$temp = $_POST['s'];
}
这些代码中哪一个会更快?
$temp = $_REQUEST['s'];
或
if (isset($_GET['s'])) {
$temp = $_GET['s'];
}
else {
$temp = $_POST['s'];
}
默认情况下,$_REQUEST
包含 和 的内容。$_GET
$_POST
$_COOKIE
但这只是一个默认值,这取决于variables_order
;并且不确定是否要使用 Cookie。
如果我必须选择,我可能不会使用,我会选择或 - 取决于我的应用程序应该做什么(即一个或另一个,但不是两者兼而有之):一般来说:$_REQUEST
$_GET
$_POST
$_GET
$_POST
无论哪种方式,性能都不会有太大差异:与脚本的其余部分相比,差异可以忽略不计。
获取与发布
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 中,因此无法为页面添加书签。