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"
    }
  }
}

ご覧のとおり、2 番目の配列には " &array " キーワードがあり、参照を暗示していると想定しています。私の質問は、この配列をシリアル化して MYSQL DB に保存できますか? その後、表示ページでデータエラーが発生していたので、これが何か関係があるかどうかを確認したいと思います.

UPDATE 表示ページに表示されるエラーメッセージは、 Undefined index: option です

4

2 に答える 2

1

エラーメッセージについて、「オプション」インデックスを呼び出している行を投稿してください。何が問題なのかがわかります...

Sammitch が言ったように、serialize() を使用してこのデータを DB に保存できます。

于 2013-05-28T15:48:32.083 に答える
1

ドキュメントから:

serialize() は、リソース タイプを除くすべてのタイプを処理します。それ自体への参照を含む配列を serialize() することもできます。シリアル化する配列/オブジェクト内の循環参照も保存されます。その他の参照はすべて失われます。

于 2013-05-28T15:36:56.720 に答える