2014-08-30 2 views
1

Я использовал следующую функцию, чтобы получить Google поиск изображенийполучить Google поиск изображений с помощью Еогеасп

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; 
} 

Я получил ERRO г:

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 
Смежные вопросы