эхо-результаты из массива API безопасного просмотра Google

Я знаю, что это основной вопрос, но я не могу понять, как на самом деле это сделать. Я прочитал бесчисленные учебники об этом, но, похоже, они не работают.

var_dump($google_check);

возвращает следующее:

string(488) "{
"matches": [
{
"threatType": "MALWARE",
"platformType": "LINUX",
"threat": {
"url": "http://malware.testing.google.test/testing/malware/"},
"cacheDuration": "300s",
"threatEntryType": "URL"},
{
"threatType": "MALWARE",
"platformType": "LINUX",
"threat": {
"url": "http://malware.testing.google.test/testing/malware/"},
"cacheDuration": "300s",
"threatEntryType": "URL"}
]
}
"

Я хочу отображать результаты из массива, так что-то вроде

echo $google_check[0][matches][threat];
echo $google_check[1][matches][threat];

Проблема в том, что это возвращает недопустимое смещение для совпадений и угроз, и только эхо — один символ {

Что я делаю неправильно? Как отобразить результаты из этого массива, не выгружая весь массив?

-1

Решение

Ответ, который вы получили, находится в json, поэтому вам нужно сначала json_decode ответить.

$decoded = json_decode($google_check, true);

Тогда вы можете получить к нему доступ как массив

echo $decoded['matches'][0]['threat'];
echo $decoded['matches'][1]['threat'];

если вам нужно значение url, вам нужно сделать это следующим образом.

echo $decoded['matches'][0]['threat']['url'];
echo $decoded['matches'][1]['threat']['url'];

также обратите внимание, что при просмотре ключей массива, которые не являются числовыми, вам нужно заключить в кавычки (например, $ decoded [‘match’] вместо $ decoded [match]).

Вот краткое объяснение JSON

https://www.tutorialspoint.com/json/json_php_example.htm

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]