2013-07-31 32 views
0

我有3個陣列,從搜索引擎中的一個不錯的HTML格式打印出來,這裏的foreach循環打印出印刷的組合陣列的HTML

兵API

foreach($jsonObj->d->results as $value){ 
      echo "<a href=\"{$value->Url}\">{$value->Title}</a><p>{$value->Description}</p>". "<br>"; 

     } 

Blekko的API

foreach($js->RESULT as $item){ 
     echo "<a href=\"{$item->url}\">{$item->url_title}</a><p>{$item->snippet}</p>". "<br>"; 

    } 

谷歌API

foreach($all_items as $item){ 
     echo "<a href=\"{$item->link}\">{$item->title}</a><p>{$item->snippet}</p>". "<br>"; 

    } 

我然後,創建一個comnined陣列如下面

$combined = array(); 

foreach($bingArray as $key=>$value){ 
if(isset($combined[$key])) 
$combined[$key]["score"] += $value['score']; 
    else 
    $combined[$key] = array("score"=>$value['score'],"title"=>$value["title"], "snippet"=>$value ["snippet"]); 
} 

當我做的print_r($組合)1得到以下輸出

Array ([example.com] => Array ([score] => 51 [title] => example title[snippet] => Blah baly...)[example2.com] => Array ([score] => 45 [title] => example title2[snippet] => Blah baly2...) ....) 

這是精細和相同的格式,因爲所有3 API陣列,現在我試圖像3 API的HTML打印出的組合陣列,這裏是我的代碼試圖

foreach($combined as $value){ 
      echo "<a href=\"{$value->url}\">{$value->title}</a><p>{$value->snippet}</p>". "<br>"; 

      } 

但是當我運行它,我得到這個錯誤「試圖到g 「我懷疑我需要在這裏改變一些東西」foreach($合併爲$ value)「但我不確定是什麼,任何人都可以幫助

回答

0

這是因爲你沒有對象了。

更改此:

foreach($combined as $value){ 
    echo "<a href=\"{$value->url}\">{$value->title}</a><p>{$value->snippet}</p>". "<br>"; 
} 

要這樣:

foreach($combined as $url => $value){ 
    echo "<a href=\"{$url}\">{$value['title']}</a><p>{$value['snippet']}</p>". "<br>"; 
} 
+0

這幾乎工程,我得到 「未定義指數:URL」 警告和URL將無法連接 – user2634446

+0

不錯啊。我再次看着你的組合陣列,實際上「url」部分丟失了。你有看到嗎? –

+0

如果你看看陣列,你會看到如何組合陣列的結構 – user2634446