首页 文章

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

提问于
浏览
1

我是这个网站的新成员,虽然我以前用过很多 . 我搜索了一下我的问题的答案,但我似乎找不到一个 . 所以我想我会在这里发帖 .

无论如何,关于这个问题 . 在我的代码中,我想要做的是创建一个关联数组,然后以某种方式通过$ _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的新手(本周开始学习它,如果你不知道的话)

1 回答

  • 0

    尝试使用此复选框呈现:

    <input type='checkbox' name='array[]' value="<?php echo $string; ?>">
    

相关问题