Добрый день.
Я тут на выходных начал осваивать PHP и запилил такой хард-код:
<?
header('Content-Type: application/x-javascript; charset=utf8');
$file = "base.json";
$fp = fopen($file, "a+");
$content = fread($fp, filesize($file));
$obj = json_decode($content, true);
$n = array("Min" => 1, "Sec" => 1);
array_push($obj, $n);
echo json_encode(json_encode($obj));
fwrite($fp, "");
fclose($fp);
?>
Идея кода такая:
- получаем запрос по AJAX
- проверяем присутствие файла base.json и считываем из него данные
- парсим прочитанные данные из JSON в массив
- дозаписываем в массив данные
- переводим в JSON и отправляем обратно
Код рабочий. Но получилось как-то ужасно. Например это:
echo json_encode(json_encode($obj));
Методом научного тыка использовал двойной json_decode и код заработал...
Почему так?
Буду благодарен вашим замечаниям и советам по улучшению кода.