私はメタ検索エンジンを構築しようとしています.JSON結果を生成する次のコードがあります.
<?php
$search = $_GET['results'];
if(isset($_GET['results']) && $_GET['results'] != "")
{
echo "<br />Your Search Result Array:<br /><br />";
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
. "q=".str_replace(' ', '%20', $_GET['results']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body);
print_r($json);
これにより、順序やハイパーリンクのない JSON のソートされていない結果が得られます。PHPを使用して結果を解析しようとしています。検索エンジンに「こんにちは」と入力すると、
stdClass Object ( [responseData] => stdClass Object ( [results] => Array ( [0] =>stdClass Object ( [GsearchResultClass] => GwebSearch [unescapedUrl] => http://www.hellomagazine.com/ [url] => http://www.hellomagazine.com/ [visibleUrl] => www.hellomagazine.com [cacheUrl] => http://www.google.com/search?q=cache:QzMhUCC4zBoJ:www.hellomagazine.com [title] => HELLO! Online: celebrity & royal news, magazine, babies,
最初の 4 行として。私は試した
foreach($results['responsedata']['results']['GsearchResultsClass'] as $result)
{
echo $result['title'].'<br/>';
}
しかし、それは foreach 行に大量のエラーを残します。
アドバイスをいただければ幸いです。私は JSON に詳しくないので、結果を解析する方法についてのヘルプは大歓迎です。