我想这是一个风格问题.为什么人们会遇到用PHP 分配变量$_GET和$_POST数据的麻烦?例如,为什么这样做:
<?php
$name = $_GET['name'];
echo $name;
?>
Run Code Online (Sandbox Code Playgroud)
什么时候你可以这样做呢?
<?php
echo $_GET['name'];
?>
Run Code Online (Sandbox Code Playgroud)
有几个原因:
它更容易编写,尤其是在字符串中包含时.
您只需要对其进行一次清理,并且知道无论何时调用临时变量,它都是已清理的版本.
(这是一个很大的问题)$ _GET和$ _POST变量在全局可用,这意味着多个函数或语句可能取决于它的值.如果您需要修改变量(例如$ _GET ['var'] ++),那么您可能不会影响其他函数.因此,如果在另一个地方使用$ _GET或$ _POST变量,将值存储在工作变量中会更安全.
如果你必须多次访问该变量,每次从数组中读取它会更慢...我很想把它从列表中完全删除,因为差异太小了,但当有些人优化时大循环,他们将变量存储在数组之外.然而,即使在数十万次读取之后,速度差异可能也不明显,因此它不是列表中特别引人注目的添加.