Из-за чего вылезает ошибка при изменении значения в json?
Я сейчас покажу абсолютно секретный кусок кода, вы такой нигде больше не найдёте. Это чудо решает 99% проблем! spoiler$data  = file_get_contents('values.json');
$data = json_decode($data , true); 
var_dump($data);
У вас запятая лишняя в файле JSON похоже. В самом конце.