2014-12-04 52 views
0

我有一個關於發送POST形式的數據的問題。PHP表單發送數組在輸入的值字段與POST

我必須發送一個array(j, i, 59, j, k, 59);類似複選框的值。

複選框同名應該接受多個值,所以我需要發送一個多維數組

array("sunday", "Monday", ...); 
echo "<form action ='' method='POST'>"; 
// some code... 
for ($i = 0; $i < count($day); $i++) { 
    for ($j = 0; $j < $N; $j++) { 
     $value = array($va1, $var2, $var3, ..$varN); 
     echo "<input type='checkbox' name='$day" . "[]' value='$value' /> $i-$j"; 
    } 
} 
echo "</form>"; 

var1:varN是整數,在$_POST['Monday']取決於由i, j和其他變量

應該array((array(par1,..ParN),(array(par1,..ParN))但唐沒有工作, 因爲在接收端,代碼如

$Data= $_POST['Monday'] ; 

獲取(使用var_dump):

array [k](其中k是選中框的數目,並且沒問題)。 每個條目是字符串(5)=「數組」,但我想要一個值的數組,而不是一個字符串。

有人可以幫助我嗎? 非常感謝你,對我的英語不好!

+0

您正在錯誤消息之前在星期一在第一行。你也無法回顯一個數組($值)。不要回應HTML我們?>結束PHP塊,並寫入正常的HTML它很容易閱讀 – 2014-12-04 15:25:00

+0

@MatejŽvan我在重寫代碼塊期間缺少報價,源代碼對於sintax是好的。我更喜歡回顯HTML,因爲我的頁面有800行PHP和5行HTML,但下一次我將在stackoverflow上編寫普通HTML,如果您認爲它更容易理解 – user3450036 2014-12-04 15:53:19

回答

1

基本PHP:字符串上下文中使用數組是字面字Array

$foo = array(); 
echo $foo; // output: "Array" 

你有這樣的:

$value=array($va1,$var2,$var3,..$varN); 
^^^^^---- $value is an array 

echo "<input type='checkbox' name='$day" . "[]' value='$value' /> 
                 ^^^^^^----output in string context 

如果你懶得做的一個關於「查看源文件」你的網頁,你會看到HTML字面意思:

<input type='checkbox' name='Monday[]' value='Array' /> 

您需要implode()數組,使其成爲一個字符串:

echo "<input type='checkbox' name='{$day}[]' value='" . implode(',', $value) . "' />"; 
0

你可以只使用json_encode($array);的數組值字段,然後就json_decode($_POST[$day],true);的情況下,你會想使用更復雜的陣列。