2014-12-04 102 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);的情况下,你会想使用更复杂的阵列。