0

我正在交互的 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?"
  ["answers"]=>
  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 DB 中吗?之后我在显示页面上遇到了一些数据错误,所以我想确定这是否与此有关。

更新 我在显示页面上收到的错误消息是 Undefined index: option

4

2 回答 2

1

文档

serialize() 处理所有类型,除了资源类型。您甚至可以 serialize() 包含对其自身的引用的数组。您正在序列化的数组/对象内的循环引用也将被存储。任何其他参考都将丢失

于 2013-05-28T15:36:56.720 回答
1

关于你的错误消息,发布你调用“选项”索引的行,这样我们就可以看到出了什么问题......

正如 Sammitch 所说,您可以使用 serialize() 将此数据存储在您的数据库中。

于 2013-05-28T15:48:32.083 回答