對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 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] 利用表單傳遞多維陣列
			