Суть вот в чем:
Есть json с таким содержимым:
{
"25-12-2019": [
{
"ip": "192.168.182.202",
"time": "22:43:19"
}
],
"26-12-2019": [
{
"ip": "192.168.182.202",
"time": "22:43:19"
},
{
"ip": "5.156.182.202",
"time": "22:43:19"
}
]
}
Я пытаюсь с помощью php определить две вещи:
1. Есть ли в данных блок с датой. Если нет, то создаю этот блок.
2. Есть блок с датой существует, то записываю в него данные, но перед этим проверяю, нет ли уже таких же ранее записанных, чтобы не было повторяющихся записей именно по значению 'ip' в рамках конкретной даты, время не важно.
Вот что !удалось сочинить:
$json = json_decode(file_get_contents('api/datastat/data.json'), true);
if (!in_array($json[$date],$json) ) {
$json[$date][] = [];
file_put_contents('api/datastat/data.json', json_encode($json));
} else {
foreach ($json as $rtd => $keyz) {
foreach ($keyz as $rtdt => $keye) {
echo $keye['ip'] . 'fffff';
if (!in_array($ip, $keye)) {
$json[$date][] = [
'ip' => $_SERVER['REMOTE_ADDR'],
'time' => $time,];
}
else {
exit;
}file_put_contents('api/datastat/data.json', json_encode($json));
if ($i = 1) break;
}
}
}
Проверка существования даты происходит, но проверки уникальности ip нет, пишет все подряд и с одинаковыми значениями. Помогите пожалуйста.