PHP 处理 POST 和 GET 变量的一个特性是它会自动解码索引的表单变量名。
我见过无数个项目,它们为了解码变量而跳过额外的和不必要的处理步骤,而 PHP 已经为你完成了这一切。
示例伪代码
许多网站都这样做
<form ....>
<input name="person_0_first_name" value="john" />
<input name="person_0_last_name" value="smith" />
...
<input name="person_1_first_name" value="jane" />
<input name="person_1_last_name" value="jones" />
</form>
而他们可以这样做
<form ....>
<input name="person[0][first_name]" value="john" />
<input name="person[0][last_name]" value="smith" />
...
<input name="person[1][first_name]" value="jane" />
<input name="person[1][last_name]" value="jones" />
</form>
使用第一个示例,你需要进行字符串解析/正则表达式来获取正确的值,以便将它们与应用程序中的其他数据匹配起来。而使用第二个示例,你将得到类似于
<?php
var_dump($_POST['person']);
// 将得到类似于以下内容:
array (
0 => array('first_name'=>'john','last_name'=>'smith'),
1 => array('first_name'=>'jane','last_name'=>'jones'),
)
?>
当你想将各种发布的表单数据链接到服务器端的其他哈希表中,或者当你需要将发布的数据存储在独立的“隔间”数组中,或者当你想要将发布的数据链接到不同框架中的不同记录处理程序时,这是非常有价值的。
还要记住,使用 [] 作为索引将在数据发布后创建一个连续的数字数组,因此有时最好显式定义索引。