2016-12-21 3 views
-1

Ich weiß, das ist eine grundlegende Frage, aber ich kann nicht herausfinden, wie man dies tatsächlich tun. Ich habe unzählige Tutorials darüber gelesen, aber sie funktionieren scheinbar nicht.Echo Ergebnisse von einem Google Safe-Browsing-API-Array

var_dump($google_check); 

gibt die folgenden:

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" 
    } 
    ] 
} 
" 

Ich will Ergebnisse aus dem Array Echo, so etwas wie

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

Problem ist dies illegal kehrt zu Spielen und Bedrohung versetzt, und nur Echo ist ein einzelnes Zeichen {

Was mache ich falsch? Wie wiederhole ich die Ergebnisse dieses Arrays, ohne das gesamte Array zu entladen?

Antwort

3

Die Antwort, die Sie erhalten haben, ist in JSON, also müssen Sie zuerst die Antwort json_decode.

$decoded = json_decode($google_check, true); 

Dann können Sie es wie ein Array zugreifen

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

, wenn Sie die URL Wert wollen müssen Sie es wie dies zu tun.

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

Bitte beachten Sie auch, wenn bei Array-Schlüssel suchen, die nicht numerisch sind Sie in Anführungszeichen wickeln müssen (zum Beispiel decodiert $ [ ‚Matches‘] statt decodiert $ [Spiele]).

Hier ist eine kurze Erklärung auf json

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