Обновление записи в json массиве

193
16 июня 2018, 22:20

Есть json массив

{"vname":"\u0418\u0438\u0438","src":"http:\/\/video.sibnet.ru\/shell.php?videoid=3291274","desc":"\u041e\u043e\u043e\u0440\u043e","date":"2018-30-05 11:07:14","comments":[],"like":0,"dislike":0,"likeid":["-1","-2"],"dislikeid":["-1","-2"]}

Как обновить в нем записи like и likeid с помощью php?

Я сейчас делаю так:

$ndislikes = [
            "dislike" => $like,
            "dislikeid" => $adlid
        ];
        $ndislikes = json_encode($ndislikes);
        file_put_contents("../json/".$idv.".json", $ndislikes);

Да, тогда записывается новое значение в эти строки, но все остальные значения исчезают, так вот как обновить значения like и likeid, что бы другие значения не стирались?, Например , привести массив к такому виду:

{"vname":"\u0418\u0438\u0438","src":"http:\/\/video.sibnet.ru\/shell.php?videoid=3291274","desc":"\u041e\u043e\u043e\u0440\u043e","date":"2018-30-05 11:07:14","comments":[],"like":1,"dislike":0,"likeid":["-1","-2", "11"],"dislikeid":["-1","-2"]}
Answer 1
$string = '{"vname":"\u0418\u0438\u0438","src":"http:\/\/video.sibnet.ru\/shell.php?videoid=3291274","desc":"\u041e\u043e\u043e\u0440\u043e","date":"2018-30-05 11:07:14","comments":[],"like":0,"dislike":0,"likeid":["-1","-2"],"dislikeid":["-1","-2"]}';
$arr = json_decode($string, true);
$dislike = 1337; // @type integer
$dislikeid = [228, 1488]; // @type array
list($arr['dislike'], $arr['dislikeid']) = [$dislike, $dislikeid];
echo json_encode($arr);
READ ALSO
Как вывести случайный элемент массива?

Как вывести случайный элемент массива?

Как в моем случае вывести случайное число?

219
Виджеты ВК и пользователи из Украины

Виджеты ВК и пользователи из Украины

Столкнулся с такой трудностью: если установлен виджет, например, группы вк, и у пользователя из Украины нет VPN, то страница грузится бесконечно...

191