我在更新过程中使用的PHP代码如下:
$data = $_POST;
foreach ($data['answers'] as &$d):
if(!isset($d['default'])):
$d['default'] = "false";
endif;
endforeach;
当我在迭代之后对它进行var_dump时,我得到了以下内容:
array(2) {
["question"]=>
string(20) "Which did you like?"
["answerswers"]=>
array(6) {
[0]=>
array(2) {
["default"]=>
string(4) "true"
["option"]=>
string(5) "First"
}
[1]=>
&array(2) {
["option"]=>
string(5) "Second"
["default"]=>
string(5) "false"
}
}
}
如您所见,第二个数组有"&array"关键字,我假设这意味着引用。我的问题是,我可以序列化这个数组并保存到MYSQL数据库吗?我在显示页面上出现了一些数据错误,所以我想确定这是否与此有关。
我在显示页面上得到的错误信息是定义指数:选择
From the docs:
serialize()处理所有类型,除了资源类型。您甚至可以序列化()包含对自身引用的数组。正在序列化的数组/对象中的循环引用也将被存储。任何其他引用将丢失。
关于你的错误信息,发布你调用"option"索引的行,这样我们就可以看到出了什么问题…
正如Sammitch所说,您可以使用serialize()将这些数据存储在数据库中。