我有一个关于在表单中使用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
是整数,取决于i, j
和其他变量
$_POST['Monday']
中的应为array((array(par1,..ParN),(array(par1,..ParN))
但不起作用,
因为在接收方,代码如
$Data= $_POST['Monday'] ;
获取(使用var_dump):
array [k](其中k是复选框的编号,没关系)。 每个条目都是字符串(5)=&#34;数组&#34;但我想要一个值数组,而不是字符串。
有人能帮助我吗? 非常感谢你,抱歉我的英语不好!
答案 0 :(得分: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
如果您打算做一个&#34;查看来源&#34;在您的网页上,您已经看到了HTML字面意思:
<input type='checkbox' name='Monday[]' value='Array' />
您需要implode()
该数组,以便它成为一个字符串:
echo "<input type='checkbox' name='{$day}[]' value='" . implode(',', $value) . "' />";
答案 1 :(得分:1)
您可以将json_encode($array);
数组用于值字段,然后只使用json_decode($_POST[$day],true);
以防您想要使用更复杂的数组。