[英]Passing an associative array as value for a checkbox form (PHP)
我是该网站的新成员,尽管我之前已经使用过很多。 我搜索了一下我的问题的答案,但似乎找不到。 所以我想我会在这里发布。
无论如何,关于这个问题。 在我的代码中,我想做的是创建一个关联数组,然后以某种方式通过$ _POST传递该值。 我最近的想法是创建关联数组,然后将json_encode用作字符串,将该字符串作为复选框的值传递,然后通过$ _POST获取字符串值,并使用json_decode来获取该关联数组。
所以说我有一个名为$ array的关联数组。 我会这样编码:
$string = json_encode($array)
然后,我将字符串作为复选框的值传递:
<input type='checkbox' name='array[]' value='$string'>
然后,提交表单后,它将获取关联数组并更新一些$ _SESSION值:
foreach ($_POST['array'] as $element)
{
$array = json_decode($element,true);
array_push($_SESSION['array'], $array);
$_SESSION['sum'] = $_SESSION['sum'] + $array["price"];
}
但是,每次运行时,我都会遇到一个致命错误,类似于“不支持的操作数类型”的行,指的是$ _SESSION ['sum']行。 每当尝试查看数组的值时,我也会收到一个错误(例如echo $ array [“ price”]或echo $ array [“ size”]),这些错误是“数组到字符串转换”。
有人有想法么? 我对PHP相当陌生(如果您不知道的话,本周才开始学习它)
尝试使用此复选框呈现:
<input type='checkbox' name='array[]' value="<?php echo $string; ?>">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.