#php #arrays #json #loops
#php #массивы #json #циклы
Вопрос:
Мне нужно как-то обработать следующий рекурсивный вывод журнала с помощью PHP, создав массив или закодировав его в json, конечная цель — получить значение «id» каждого раздела getusers, я провел несколько тестов, но не могу получить хороший результат.
Это всего лишь часть строки журнала, содержащая все разделы getusers (их может быть тысячи).:
getusers: {
"user": {
"id": 1569976517,
"type": "user",
"first_name": "Mike",
"username": "MikesNick",
"verified": false,
"restricted": false,
"status": {
"_": "userStatusRecently"
},
"access_hash": -7018287513210933137,
"bot_nochats": false
},
"date": 1613450429,
"role": "user"
}
getusers: {
"user": {
"id": 717418136,
"type": "user",
"first_name": "John",
"last_name": "Smith",
"username": "JhonsNick",
"verified": false,
"restricted": false,
"status": {
"_": "userStatusOffline",
"was_online": 1613230815
},
"access_hash": 1814429223003924316,
"bot_nochats": false
},
"date": 1613245788,
"role": "user"
}
Каков наилучший способ управлять этим и восстановить нужные мне данные?
Комментарии:
1. Является ли полный журнал допустимым JSON? Эта часть не является?
2. @0stone0 не может управлять getusers: part
3. @MattC это не то, о чем вас просили. P.S. Если у вас есть попытка решить эту проблему, было бы разумно показать ваш код, тогда мы знаем, где вы находитесь, и лучше представляем, где вы застряли
4. его недопустимый json
Ответ №1:
Я нашел способ извлечь идентификаторы из журнала, используя следующий код
$exploded = explode("getusers:",$logString);
foreach($exploded as $group){
$decoded = json_decode($group,true);
echo $decoded["user"]["id"]."<br/>";
}