我有一个数组数组,我在视图中循环显示它们在一个表中,我有一个确认按钮,我需要点击以将这些表数据存储在db中。我的问题是如何将这个数组数组从视图传递给我的控制器,以便继续存储到db?
我尝试过使用表单并使用json_encode()将其作为发布数据传递,以将数组转换为字符串,但没有运气。我收到错误
消息:json_decode()期望参数1为字符串,给定数组
我可以以某种方式将数组变量传递给输入字段的点击功能吗?
感谢。
答案 0 :(得分:1)
您可以在url字符串中传递数组,如下所示:
?arr[]=val1&arr[]=val2 //pass as the url param
//in controller
var_dump($_GET["arr"]);
//result should be
array(2) { [0]=> string(4) "val1" [1]=> string(4) "val2" }
答案 1 :(得分:1)
我找到了解决问题的方法。这对我有用。 我使用
将我的数组数组作为字符串值传递给隐藏的输入字段json_encode($array)
但问题是我的密钥是双引号,结果是
value="<?php echo json_encode($array);?>"
正在崩溃......
解决方案是逃避角色,所以我不得不用
替换上面的行value="<?php echo htmlspecialchars(json_encode($array));?>"
在控制器中,我必须使用以下行从json获取我的数组
$dataJson = $this->input->post('array');
$dataArray = json_decode(htmlspecialchars_decode($dataJson), true);
谢谢大家的答案!