2014-08-30 36 views
1

檢索谷歌圖片搜索我用下面的函數來獲得谷歌搜索圖片使用的foreach

function get_images($query){ 
    $url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='; 
    $url .= urlencode($query); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($curl); 
    curl_close($curl); 
    //decoding request 
    $result = json_decode($data, true); 

    return $result; 
} 

它使用print_r()

$images = get_images("porsche"); 
    print_r($images); 

當我輸出的所有結果的作品不錯,但我希望得到一個具體使用價值foreach()

foreach ($images->responseData->results as $result) { 
    echo $result->url; 
} 

我得到了一個錯誤R:

Notice: Trying to get property of non-object 

我怎樣才能得到任何特定值separetly使用foreach()

回答

1

試試這個:

<?php 
    function get_images($query){ 
    $url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='; 
    $url .= urlencode($query); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($curl); 
    curl_close($curl); 
    //decoding request 
    $result = json_decode($data, true); 

    return $result; 
} 

$images = get_images("porsche"); 
    //print_r($images); 

    foreach ($images['responseData']['results'] as $result) { 
    echo $result['url']. "<br>"; 
} 
?> 

輸出

http://upload.wikimedia.org/wikipedia/commons/e/e7/2012_NAIAS_Red_Porsche_991_convertible_(world_premiere).jpg 
http://www.inautonews.com/wp-content/uploads/2012/05/porsche-911-club-coupe-1.jpg 
http://o.aolcdn.com/hss/storage/adam/6e58b30fb96bf0d28d10fa6d290682e7/porsche-exclusive-911t-cab.jpg 
http://media.caranddriver.com/images/media/510773/porsche-960-updated-inline-photo-514518-s-original.jpg