2016-09-23 99 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

一种方法是使用'的foreach()'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

使用的foreach()是你能做的最好的事情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作为$结果)如何让这个国家阵列? – letsforum