Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Array_unique i JSON
zimack
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 5.01.2009

Ostrzeżenie: (0%)
-----


Witam, mam takie pytanie, jak zlikwidować podwójne wyniki z wyszukiwania z 2 wyszukiwarek? Znalazłem funkcje array_unique, ale jakos nie wiem jak ją zastosować w moim przypadku. Skrypt pobiera wyniki wyszukiwania z google i yahoo sw JSON, dekoduje i wyswietla na ekranie, ale sa podwójne wpisy, jak uzyc tej funkcji aby je zlikwidować?


Tablica moja:


$phpobj2 = $json->decode($response);
$phpobj3 = $json->decode($response2);
$i = 0;

$search_results = array();


foreach($phpobj2->responseData->results as $r)

{
$search_results['results'][$i]['title'] = $r->title;
$search_results['results'][$i]['url'] = $r->url;

$search_results['results'][$i]['content'] = $r->content;

$i++;
}


foreach($phpobj3->ResultSet->Result as $t)

{
$search_results['results'][$i]['title'] = $t->Title;
$search_results['results'][$i]['url'] = $t->Url;
$search_results['results'][$i]['content'] = $t->Summary;
$i++;

}

Ten post edytował zimack 25.01.2009, 14:29:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ziqzaq
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


Nie wiem czy to dobry pomysł, ale może coś w tym stylu:
  1. <?php
  2. $search_results = array();
  3. foreach($phpobj2->responseData->results as $r)
  4. {
  5.    $search_results[$r->url]['title'] = $r->title;
  6.    $search_results[$r->url]['content'] = $r->content;
  7.    $i++;
  8. }
  9. foreach($phpobj3->ResultSet->Result as $t)
  10. {
  11.    $search_results[$t->Url]['title'] = $t->Title;
  12.    $search_results[$t->Url]['content'] = $t->Summary;
  13.    $i++;
  14. }
  15. ?>

w ten sposób wykluczysz takie same url w wynikach (może jeszcze jakiś if i isset() żeby nie przypisywać na nowo wartości w tablicy).
Nie napisałeś czy wszystko (url, title, content) ma być unikalne.

Ten post edytował ziqzaq 25.01.2009, 14:46:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 05:34