說有貼有陣列樣式名稱形式輸入:代表作爲字符串的多維陣列的路徑(例如形式輸入名稱陣列)
<input type="text" name="user[name]" value="John" />
<input type="text" name="user[email]" value="[email protected]" />
<input type="checkbox" name="user[prefs][]" value="1" checked="checked" />
<input type="checkbox" name="user[prefs][]" value="2" checked="checked" />
<input type="text" name="other[example][var]" value="foo" />
然後$_POST
會回來像這樣,print_r()
「D:
Array
(
[user] => Array
(
[name] => John
[email] => [email protected]
[prefs] => Array
(
[0] => 1
[1] => 2
)
)
[other] => Array
(
[example] => Array
(
[var] => foo
)
)
)
我們的目標是能夠調用一個函數,就像這樣:
$form_values = form_values($_POST);
,將返回類似於原始輸入名稱的風格鍵的關聯數組:
Array
(
[user[name]] => John
[user[email]] => [email protected]
[user[prefs][]] => Array
(
[0] => 1
[1] => 2
)
[other[example][var]] => foo
)
這一直是非常具有挑戰性的,在這一點上我的「車輪在泥濘中打轉。」 : - [
如果你做了'$ user = $ _POST ['user'];',你可以通過執行$ user ['name']'來訪問用戶名,我不知道爲什麼要嵌入數組括號進入關鍵點,因爲您將以更易於訪問和有意義的方式拆分已經保存數據的數據結構。 – MatthewMcGovern
這是因爲我一直在工作的表單類,可以輸出一個文本框,如說'<?php echo $ form-> input(array('type'=>'text','name'=>'user [email ]'))?>'。我認爲能夠以這種方式提取密鑰會使檢查文本框的默認值變得微不足道。合理? ''user [email]''將是'$ form_values'示例中的一個關鍵字,並保存提交的值。 – groovenectar
嗯。可以隨時改變輸入命令來取代「name」的數組。即''form-> input(array('type'=>'text','name'=> array('user','name'));'這樣你就可以訪問'$ _POST [$ array [0 ] [$ array [1]]]' – MatthewMcGovern