1

tempArrJSONに変換してjsonファイルに書き込む必要がある連想配列があります。

$tempArr = array('one' => $var1, 'two'=> $var2, 'three'=>$var3);
$fp = fopen('myFile.json', 'w');
fwrite($fp, json_encode($tempArr));
fclose($fp);

しかし、このコードはjson_encode(): recursion detectedという警告を表示します。私は何を間違っていますか?

4

1 に答える 1

1

エラーはおそらく次のようになります。

$a = array(&$a);
json_encode($a);

参照: http://codepad.org/8dYy8Y3C

したがって、$var1、$var2、または $var3 のどこかに参照サイクルがあります。あなたの使命: 捜索し、破壊してください! Jamie Bicknell がコメントしたように、一度に 1 つずつ削除して、どれを確認するかを確認してください。

于 2013-09-13T12:43:01.953 に答える