2013-11-08 3 views
1

нерабочими Код:
Примечание: Попытка получить свойство необъектныхНевозможно использовать объект типа StdClass ... Google Search API извлечения URL-адресов в массив

$i = 1; 
var_dump($rez->responseData->results[$i]->url); 

Фатальная ошибка: Невозможно использовать объект типа StdClass как массив в

$rez = (array) $rez; 
var_dump($rez['responseData']['results']['1']['url']); 


результатам РАБОЧЕГО Код:
Как мне отображать только URL-адреса и превращать список URL-адресов в массив?

stdClass Object 
(
[responseData] => stdClass Object 
    (
     [results] => Array 
      (
       [0] => stdClass Object 
        (
         [GsearchResultClass] => GwebSearch 
         [unescapedUrl] => http://www.rottentomatoes.com/top/ 
         [url] => http://www.rottentomatoes.com/top/ 
         [visibleUrl] => www.rottentomatoes.com 
........................................................................... 

РАБОЧАЯ Код:

function google_search_api($args, $referer = 'http://localhost/test/', $endpoint = 'web'){ 
$url = "http://ajax.googleapis.com/ajax/services/search/".$endpoint; 

if (!array_key_exists('v', $args)) 
    $args['v'] = '1.0'; 

$url .= '?'.http_build_query($args, '', '&'); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// note that the referer *must* be set 
curl_setopt($ch, CURLOPT_REFERER, $referer); 
$body = curl_exec($ch); 
curl_close($ch); 
//decode and return the response 
return json_decode($body); 
} 

$rez = google_search_api(array(
    'q' => 'movie list', 'start' => '5', 
)); 

echo '<pre>'; 
print_r($rez); 
echo '</pre>'; 
?> 

Я попробовал несколько вариантов выше, но только я не выяснить это. Возможно, что-то простое, поэтому любой комментарий будет оценен.

+0

Может быть просто ваш пример, но ваш 'results' массив только имеет один элемент с индексом 0 еще вы пытаетесь сбросить индекс 1. Похоже, больше работы для петля в любом случае – Phil

ответ

2

Кажется, как это должно работать

$urls = array_map(function($result) { 
    return $result->url; 
}, $rez->responseData->results); 

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

  • Нет связанных вопросов^_^