@vladislav997

Как обновить JSON с помощью php?

Подскажите, как обновить JSON с помощью php? Допустим имеется 100 записей, пример:
json

[
{
"id": 1000,
"date": "2020-07-22 18:57:51",
"customer": "Hilary Greer",
},
{
"id": 1001,
"date": "2020-04-19 03:39:30",
"customer": "Yen Ortega",
},
{
"id": 1002,
"date": "2019-07-03 15:44:11",
"customer": "Maris Oconnor",
},
........
]


И нужно к примеру изменить значение customer в 1002-айдишнике. Как это сделать?

Пробую так, не работает
$jsonOrders = file_get_contents('templates/api/index.html.twig'); 
        $orders = json_decode($jsonOrders); 
        foreach($orders as $order)
        {
            if($order->id == 1002)
            {
                $order->customer = 'updated';
            }
        }

        file_put_contents('templates/api/index.html.twig', json_encode($orders)); // Перекодировать в формат и записать в файл.
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 2
@vladislav997 Автор вопроса
$jsonOrders = file_get_contents('templates/api/index.html.twig');
        $orders = json_decode($jsonOrders); //,TRUE

        foreach($orders as $order)
        {
            if($order->id == 1002)
            {
                $order->status = 'cancelled';
            }
        }
        file_put_contents('templates/api/index.html.twig', json_encode($orders));
Ответ написан
Комментировать
@kur4chyt
Качественный говнокод от производителя
$jsonOrders = file_get_contents('orders.json');
$items = json_decode($jsonOrders,true);

$items2 = array();

foreach($items as $item) {
   if($item['id'] == '1002')
       $item['customer'] = 'value';
      array_push($items2, $item);
}
file_put_contents('orders.json', json_encode($items2));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы