这是一个风格问题,我想。为什么人们在PHP中使用$_GET
和$_POST
数据分配变量时遇到了麻烦?例如,为什么要这样做:
<?php
$name = $_GET['name'];
echo $name;
?>
什么时候可以这样做呢?
<?php
echo $_GET['name'];
?>
这是一个风格问题,我想。为什么人们在PHP中使用$_GET
和$_POST
数据分配变量时遇到了麻烦?例如,为什么要这样做:
<?php
$name = $_GET['name'];
echo $name;
?>
什么时候可以这样做呢?
<?php
echo $_GET['name'];
?>
有以下几个原因:
很容易写,尤其是包括在字符串中时。
您只需对其进行一次消毒,并知道每当您调用临时变量时,它就是已消毒的版本。
(这是一个大的)$ _GET和$ _POST变量可以在全球范围,这意味着多个功能或陈述可能取决于它的价值。如果你需要修改一个变量(例如$ _GET ['var'] ++),那么不影响其他函数可能很重要。因此,在$ _GET或$ _POST变量在另一个地方使用时,将值存储在工作变量中会更安全。
如果你必须多次访问变量,每次从数组中读出它会变得更慢......我试图将它从列表中彻底排除,因为差异非常小,但是当有些人优化大循环时,他们会将变量存储在数组之外。但是,即使在数十万次读取之后,速度差异可能并不明显,所以它并不是列表中特别引人注目的补充。
对于其中一个,如果您需要多次使用它,则更容易输入。另外,我会怀疑$ _GET/$ _ POST变量中的数据,但是我通常会在将数据分配给变量时对数据进行清理或转义,因此如果您遵循这种类型的做法,则知道该变量可以安全使用。始终过滤输入,并转义输出。
我的2¢