對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2013/1/8 17:29:58
2009-03-27[PHP] 利用表單傳遞多維陣列
有時候在表單傳遞上會需要具有結構性的變數傳遞,在後端的資料處理上會比較方便,不會在變數名稱上的處理花時間,PHP 有提供可以處理多維陣列的傳遞方式,在多維陣列處理上必須要有 inedx 名稱,如果只要傳遞一維無序陣列就不用設定 inedx 名稱,只需要將 name="data[]"就可以了。
表單的命名方式:
PHP 的接收格式:
原文出處:Jax 的工作紀錄: [PHP] 利用表單傳遞多維陣列
有時候在表單傳遞上會需要具有結構性的變數傳遞,在後端的資料處理上會比較方便,不會在變數名稱上的處理花時間,PHP 有提供可以處理多維陣列的傳遞方式,在多維陣列處理上必須要有 inedx 名稱,如果只要傳遞一維無序陣列就不用設定 inedx 名稱,只需要將 name="data[]"就可以了。
表單的命名方式:
<formaction=""method="post">
<ul>
<li>
<inputtype="checkbox"name="data[0][is]"value="1"/>
<inputtype="text"name="data[0][value]"value="1"/>
<selectname="data[0][unit]">
<optionvalue="km">公里</option>
<optionvalue="m">公尺</option>
<optionvalue="cm">公分</option>
</select>
</li>
<li>
<inputtype="checkbox"name="data[1][is]"value="1"/>
<inputtype="text"name="data[1][value]"value="1"/>
<selectname="data[1][unit]">
<optionvalue="km">公里</option>
<optionvalue="m">公尺</option>
<optionvalue="cm">公分</option>
</select>
</li>
<li>
<inputtype="checkbox"name="data[2][is]"value="1"/>
<inputtype="text"name="data[2][value]"value="1"/>
<selectname="data[2][unit]">
<optionvalue="km">公里</option>
<optionvalue="m">公尺</option>
<optionvalue="cm">公分</option>
</select>
</li>
</ul>
<inputtype="submit"/>
</form>
PHP 的接收格式:
<?php
print_r($_POST['data']);
/*
Array
(
[0] => Array
(
[is] => 1
[value] => 1
[unit] => km
)
[1] => Array
(
[is] => 1
[value] => 1
[unit] => m
)
[2] => Array
(
[is] => 1
[value] => 1
[unit] => cm
)
)
*/
?>
原文出處:Jax 的工作紀錄: [PHP] 利用表單傳遞多維陣列