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'),
)
?>
當您想要將各種發佈的表單資料連結到伺服器端的其他雜湊、需要將發佈的資料儲存在單獨的「隔間」陣列中,或者想要將 POST 的資料連結到各種框架中的不同記錄處理程式時,這是非常寶貴的。
還要記住,使用 [] 作為索引會在資料發佈後建立一個連續的數值陣列,因此有時最好明確地定義索引。