Получить результат в квадратных скобках, внутри квадратных скобок
Пытаюсь из этого запроса получить, что внутри sourse, но не получается
{"success":true,"found":2,"result":[{"sources":["Edmodo"],"email_only":0,"line":"[email protected]:password1","last_breach":"2017-05"},{"sources":["Anijan"],"email_only":0,"line":"[email protected]:password","last_breach":"2019-11"}]}
Вот этим кодом,
$get = "{"success":true,"found":2,"result":[{"sources":["Edmodo"],"email_only":0,"line":"[email protected]:Cornwell24","last_breach":"2017-05"},{"sources":["Anijan"],"email_only":0,"line":"[email protected]:Cornwell24","last_breach":"2019-11"}]}";
for($i=0; $i<sizeof($get->result);$i++){
preg_match("/(.*):/", $get->result[$i]->line,$a);
$login = $a[1];
preg_match("/:(.*)/", $get->result[$i]->line,$b);
$pass = $b[1];
preg_match("/\[(.*)\]/",$get->result[$i]->sources,$c);
$base = $c[1];
}
Получить, что внутри line получилось, а вот что внутри source - нет, как можно это решить?
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
$decodedData = json_decode($data, true)['result'];
foreach($decodedData as $element) {
echo $element['line'] . "<br>";
print_r($element['sources']);
}
Автор решения: Starik
→ Ссылка
Вот так можно получить массив записей, состоящих их line и sources:
$results = json_decode($get)->result;
$cleanData = [];
foreach ($results as $result) {
$cleanData[] = [
'line' => $result->line,
'sources' => $result->sources[0],
];
}
Результат получится таким:
[
[
'line' => '[email protected]:password1',
'sources' => 'Edmodo'
],
[
'line' => '[email protected]:password',
'sources' => 'Anijan'
]
]