繁体   English   中英

将关联数组作为复选框表单的值传递(PHP)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM