2013-09-13 4 views
1

У меня есть ассоциативный массив tempArr который мне нужно преобразовать в формат JSON и написать в JSON файл:PHP ассоциативный массив JSON с помощью json_enode

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

Но этот код показывает предупреждение, где он говорит, что json_encode (): обнаружена рекурсия. Что я делаю не так?

+0

Ваш код отлично подходит для меня. Я думаю, что значения переменных здесь актуальны. –

+0

Я бы начал с просмотра того, что находится в $ var1, $ var2 и $ var3. Попробуйте заменить один раз, пока не узнаете, в чем проблема, затем напечатайте_r содержимое этой переменной и разместите здесь –

ответ

1

Ваша ошибка, вероятно, сводится к тому:

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

См: http://codepad.org/8dYy8Y3C

поэтому у вас есть ссылочный цикл где-то в $ var1, $ var2, или $ var3. Ваша миссия: искать и уничтожать ее! Как прокомментировал Джейми Бикнелл: удалите по одному, чтобы посмотреть, какой из них.

Смежные вопросы