2017-02-22 12 views
0

Ich versuche JSON und PHP mit API zu lernen.JSON PHP mit API-Pointer

Mein Problem ist, dass ich nicht die Daten von Beispiel Array 0, die Ausgabe als unten sehen können, wenn Sie den Link besuchen, nur Array googled so viel wie ich kann, aber irgendwie neu auf dem JSON-Array.

$json_data=json_decode($json_array,true); 
print_r($json_data); 
echo "<br>"; 
echo $json_data['total'],"<br>"; 
echo $json_data['skipped'],"<br>"; 
echo $json_data['count'],"<br>"; 
echo $json_data['0'],['name'],"<br>"; 
+0

Sie die JSON-Version des Link wollen du hast geposted? – bugfroggy

+0

will in der Lage sein, die Daten zu sortieren, so dass ich es als jetzt strukturieren kann ich nur die Gesamtzahl der übersprungenen Anzahl Daten und nicht die Daten innerhalb [0] => Array ([id] => uvklujebkpyfd57 [name] = > somename – chrjoh88

+0

Zum besseren Verständnis in Zukunft versuchen, Ausgabe wie Echo zu sehen; und lesen Sie über [Foreach] (http://php.net/manual/en/control-structures.foreach.php) Schleife, wie Array zugreifen drin – gaurav

Antwort

0

Basierend auf Ihrem Kommentar, ich denke, ich sehe, was Sie tun möchten. Sie versuchen, falsch auf die zweite Ebene Ihres Arrays zuzugreifen. Sie legen nichts zwischen die beiden Bracketsätze. Sie müssen auch nicht die 0 in Anführungszeichen setzen, da es keine Zeichenfolge ist. Ich glaube, Sie wollen, dass diese:

$json_data=json_decode($json_array,true); 
print_r($json_data); 
echo "<br>"; 
echo $json_data['total'],"<br>"; 
echo $json_data['skipped'],"<br>"; 
echo $json_data['count'],"<br>"; 
echo $json_data[0]['name'],"<br>"; // Line changed, removed comma and quotes. 

EDIT: Beachten Sie, dass die [0]['name'] innerhalb des hits Wert ist, so dass Sie wahrscheinlich diese stattdessen wollen werden:

echo $json_data['hits'][0]['name']; 
+0

Ich habe es tatsächlich probiert, als ich den Code geändert habe, es ist nur leer unten auf der Seite, es ist wirklich seltsam, weil ich die meisten Sachen ausprobiert habe, die ich gelesen habe auf Führungen, wie man das macht. – chrjoh88

+0

also, wenn Sie 'echo $ json_data ['hits'] [0] ['name'];' es gibt nichts aus? Stellen Sie sicher, dass es gesetzt ist, indem Sie 'if (isset ($ json_data ['hits'] [0] ['name']) echo" Es ist gesetzt. ";' Wenn es nicht gesetzt ist sollte es nichts wieder ausgeben. Sie können es versuchen das Gegenteil, indem Sie ein '!' vor 'isset' setzen – bugfroggy

+0

Bugfroggy danke! Jetzt funktioniert es, wenn das Hinzufügen von Treffern? Können Sie zusammenarbeiten, warum das funktioniert? Becouse das Array heißt Hits und geht dann zu Hits 1, 2, 3 usw.? – chrjoh88