通過 POST 傳遞陣列
通常,提交給 PHP 的 HTML 表單元素會產生單個值。例如:
<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
<input type="hidden" name="foo" value="bar"/>
<button type="submit">Submit</button>
</form>
這導致以下輸出:
Array
(
[foo] => bar
)
但是,可能存在要傳遞值陣列的情況。這可以通過在 HTML 元素的名稱中新增類似 PHP 的字尾來完成:
<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
<input type="hidden" name="foo[]" value="bar"/>
<input type="hidden" name="foo[]" value="baz"/>
<button type="submit">Submit</button>
</form>
這導致以下輸出:
Array
(
[foo] => Array
(
[0] => bar
[1] => baz
)
)
你還可以將陣列索引指定為數字或字串:
<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
<input type="hidden" name="foo[42]" value="bar"/>
<input type="hidden" name="foo[foo]" value="baz"/>
<button type="submit">Submit</button>
</form>
返回此輸出:
Array
(
[foo] => Array
(
[42] => bar
[foo] => baz
)
)
此技術可用於避免 $_POST
陣列上的後處理迴圈,使你的程式碼更精簡,更簡潔。