Изначально файл data.json пустой
$text[1] это перемменная типа string в которой храниться сумма, $userId это перемменная типа integer
После запуска данного кода в data.json записывается null
$file = file_get_contents('data.json');
$taskList = json_decode($file, TRUE);
unset($file);
$taskList[$userId] = array("account_id" => $text[1], "time" => time());
file_put_contents('data.json', json_encode($taskList));
unset($taskList);
Изначально файл data.json пустой
В этой фразе и кроется ответ. "Пусто" - это не подпадает под понятие "JSON-строка". Или проверяйте полученные данные из файла на "пустоту":
$file = file_get_contents('data.json');
if(empty($file)) {
$taskList = [];// для PHP < 5.4 - $taskList = array();
}
Или используйте метод json_last_error()
$taskList = json_decode($file, TRUE);
if(json_last_error() !== JSON_ERROR_NONE) {
$taskList = [];
}
В крайнем случае, можно принудительно приводить тип данных к массиву (но лично я так бы не делал)
$taskList = (array)json_decode($file, TRUE);
P.S. Зачем на каждом шагу удалять переменные? Если нет специфической задачи, то это абсолютно лишнее телодвижение.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В интернете куча информации о докере по базовым вещам, таких как "как скачать образ", "как запустить контейнер", но почти ничего нет о том, что...
Пример, есть страница indexphp на нее подгружаем с помощью ajax некий контент со страницы content
Представьте на минуту такую картину: есть сайт продающий какие-то услуги(товары)Пользователь заходит на него и находит нужную ему услугу(товар)