2016-09-23 3 views
-1

Hallo dieses Array enthält mehr als eine Vorkommen des Landes wie kann ich alle von ihnen Schleifen und out?Wie man ein Array durchläuft?

$url = 'http://maps.googleapis.com/maps/api/geocode/json?address=cordoba'; 




    $json = @file_get_contents($url); 

    $jsondata = json_decode($json); 
    $status = $jsondata->status; 
    $address = ''; 
    if($status == "OK") 
    { 
    $address_data = $jsondata->results[0]->address_components; 

    print_r($address_data); 

    //echo $address_data[3]->long_name; 
    } 
    else 
    { 
    echo "No Data Found Try Again"; 
    } 
+0

Eine Möglichkeit wäre, zu verwenden 'foreach()' http://php.net/manual/en/control-structures.foreach.php –

+0

Könnten Sie bitte in diesem einen Code Ich bin ein bisschen, wenn Neuling teilen ? – letsforum

+5

Sie können auch mehr über dieses Duplikat lesen: http://stackoverflow.com/questions/4414623/loop-through-an-array-php –

Antwort

1
foreach($address_data as $row){ 
     print_r($row) 
} 
+0

korrigiert, lange Zeit nicht mit PHP –

+0

Es gibt nur ein Ergebnis zurück, muss aber 2 Argentinien und Spanien zurückgeben. Bitte helfen Sie mir hier – letsforum

0

Mit foreach() ist das Beste, was Sie php.net/manual/en/control-structures.foreach.php

$url = 'http://maps.googleapis.com/maps/api/geocode/json?address=cordoba'; 

$json = @file_get_contents($url); 

$jsondata = json_decode($json); 
$status = $jsondata->status; 
$address = ''; 
if($status == "OK") 
{ 
    $address_data = $jsondata->results[0]->address_components; 

foreach ($address_data as $address) { 
    echo $address->long_name; 
    } 
} 
else 
{ 
    echo "No Data Found Try Again"; 
} 
+0

Diese Zeile gibt nur ein Ergebnis zurück: $ address_data = $ jsondata-> result [0] -> address_components; muss diese Schleife durchlaufen – letsforum

0

$address_data ist eigentlich ein Array von Objekten tun . Verwenden Sie eine foreach-Schleife durch das Array und Zugriff auf jedes Eigenschaft des Objekts wie folgt aus:

// your code 

foreach($address_data as $address){ 
    /* 
    * $address->long_name 
    * $address->short_name 
    * $address->types[0] 
    * $address->types[1] 
    */ 
} 
1

Ich denke, das einzige, was der Rest der übersehen Antworten ist, dass Ihre Ergebnisse als auch ein Array sind.

if($status == "OK") 
{ 
    foreach ($jsondata->results as $result) { 
    $address_data = $result->address_components; 
    echo $address_data[3]->long_name; 
    } 
} 
+0

Es sollte 'foreach ($ jsondata-> Ergebnisse als $ Ergebnis)' sein. –

+0

Sie sind so richtig, danke – moorscode

+0

Ehrfürchtig funktioniert das: \t Es sollte foreach sein ($ jsondata-> Ergebnisse als $ Ergebnis) Wie so stelle ich Länder aus diesem Array? – letsforum

Verwandte Themen