2016-09-23 4 views
-1

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

$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

Один из способов будет использовать 'Еогеасп()' http://php.net/manual/en/control-structures.foreach.php –

+0

Не могли бы вы поделиться код, который я вид, если новичок в этом ? – letsforum

+5

Вы также можете узнать больше об этом дубликате: http://stackoverflow.com/questions/4414623/loop-through-an-array-php –

ответ

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

исправлено, долгое время не используется php –

+0

Он возвращает только один результат, но должен возвращать 2 Аргентины и Испании. PLease ребята помогают мне здесь – letsforum

0

Использование Еогеасп() это лучшее, что вы можете сделать 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

Эта строка возвращает только один результат: $ address_data = $ jsondata-> results [0] -> address_components; нужно зациклировать это – letsforum

0

$address_data на самом деле массив объектов , Используйте foreach цикл для перебора массива и доступ к свойству каждого объекта, как это:

// your code 

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

Я думаю, что одна вещь, остальные ответы пропускаемых в том, что ваши результаты массив, а также.

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

Это должно быть 'foreach ($ jsondata-> results as $ result)'. –

+0

Вы так правильны, спасибо – moorscode

+0

Удивительно это работает: \t Это должно быть foreach ($ jsondata-> results as $ result) Как я могу выставить страны из этого массива? – letsforum

Смежные вопросы