在PHP中,为什么人们为$ _GET和$ _POST数据分配另一个变量名?

Ker*_*ick 1 php coding-style

我想这是一个风格问题.为什么人们会遇到用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)

Ben*_*n D 6

有几个原因:

  1. 它更容易编写,尤其是在字符串中包含时.

  2. 您只需要对其进行一次清理,并且知道无论何时调用临时变量,它都是已清理的版本.

  3. (这是一个很大的问题)$ _GET和$ _POST变量在全局可用,这意味着多个函数或语句可能取决于它的值.如果您需要修改变量(例如$ _GET ['var'] ++),那么您可能不会影响其他函数.因此,如果在另一个地方使用$ _GET或$ _POST变量,将值存储在工作变量中会更安全.

  4. 如果你必须多次访问该变量,每次从数组中读取它会更慢...我很想把它从列表中完全删除,因为差异太小了,但当有些人优化时大循环,他们将变量存储在数组之外.然而,即使在数十万次读取之后,速度差异可能也不明显,因此它不是列表中特别引人注目的添加.