2013-07-31 2 views
0

У меня есть 3 массивов, которые печатают в хорошем формате HTML с поисковых систем, здесь являются Еогеаспом петли для распечаткиПечати для комбинированного массива HTML

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

    } 

Google 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 ($ комбинированные) я получить следующий вывод

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 массивы, теперь я пытаюсь распечатать объединенный массив в HTML, как 3 API, а вот код, который я попытался

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

      } 

Но когда я запускаю его я получаю эту ошибку «Попытку г et property of non-object ", я подозреваю, что мне нужно изменить что-то здесь" 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

Она почти работает, я получаю "Undefined индекс: URL" предупреждение и URL не соединится – user2634446

+0

Ах хорошо. Я снова посмотрел на ваш объединенный массив, и на самом деле часть «url» отсутствует. Вы видели это? –

+0

Если вы посмотрите на массив, вы увидите, как структурирован объединенный массив. – user2634446

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