Frage

Nicht arbeitender Code:
Bekanntmachung: Versuch, Eigentum von Nicht-Objekten zu bekommen

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

Fataler Fehler: Ein Objekt vom Typ stD -Klasse kann nicht als Array in verwendet werden

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


Ergebnisse des Arbeitscode:
Wie bringe ich nur URLs aus und verwandle die URL -Liste in ein Array?

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
...........................................................................

Arbeitscode:

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>';
?>

Ich habe mehrere Variationen des oben genannten Austauschs ausprobiert, aber ich findet es einfach nicht heraus. Wahrscheinlich etwas Einfaches, so dass jeder Kommentar geschätzt wird.

War es hilfreich?

Lösung

Es scheint, als sollte dies funktionieren

$urls = array_map(function($result) {
    return $result->url;
}, $rez->responseData->results);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top