0

検索エンジンから適切な html 形式で出力される 3 つの配列があります。出力するための foreach ループは次のとおりです。

ビング API

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

        }

ブレッコ API

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

    }

Google API

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

    }

次に、以下のような共通配列を作成しました

$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($combined) を実行すると、次の出力が得られます

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

            }

しかし、実行すると、「オブジェクト以外のプロパティを取得しようとしています」というエラーが表示されます。ここで「foreach($combined as $value)」の何かを変更する必要があると思われますが、何がわからないのでしょうか。

4

1 に答える 1