Записать массив в json файл (php)

json_encode — получить JSON с данными.
json_decode — обратная операция, из строки в формате JSON получить данные.

//создаем массив с машинами, например.
$cars = array("lada", "ford", "bmw");
//заносим в джейсон
$json_cars = json_encode($cars);
//Теперь добавим еще один элемент.
//Для этого сначала декодируем его, добавляем элемент и снова кодируем.
$cars = json_decode($json_cars, true);
$cars[] = "lada kalina";
$json_cars = json_encode($cars);
//...ПРОФИТ

Если вас интересует именно работа с файлом, то принцип тот же.

// Получаем содержимое файла config.json
// Допустим, там закодированный массив вида
// array('apple', 'orange')
$json = file_get_contents('config.json');
// Декодируем
$json = json_decode($json, true);
// Добавляем элемент
$json[] = 'lime';
// Превращаем опять в JSON
$json = json_encode($json);
// Перезаписываем файл
file_put_contents('config.json', $json)

https://delay-delo.com/content/rabota-php-c-json-dobavlenie-udalenie-i-obnovlenie-v-fayle

https://ru.stackoverflow.com/questions/673123/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0-%D0%B2-json-%D1%84%D0%B0%D0%B9%D0%BB