Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja do przeszukiwania tablicy, Prosba o propozycje funkcji do przeszukiwania tablicy
pablo2
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 18.11.2007

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


Mam problem, ktory pewnie jest dziecinnie prosty, ale przegladam juz php.net drugi dzien i nie wiem nawet jak do kwestii podejsc, wiec prosze o porade.

Mam takie tablise:

  1. $owoce = array('1' => 'jablko', '2' => 'gruszka', '3' => 'sliwka', '4' => 'wisnia');
  2.  
  3. $zakupy = array(
  4. 'Jacek' => array('mieso' => 'wolowina', 'owoc' => 'gruszka', 'chleb' => 'razowy'),
  5. 'Ola' => array('mieso' => 'cielecina', 'owoc' => 'ananas', 'chleb' => 'pszenny'),
  6. 'Ania' => array('mieso' => 'wieprzowina', 'owoc' => 'gruszka', 'chleb' => 'zbozowy')
  7. );


W wyniku funkcji chcialbym otrzymac tablice mowiaca czy elementy z $owoce znajduja sie w ktorejkolwiek z podtablic zakupy

Podejrzewam, ze mozna to zrobic tak:

  1. foreach($owoce as $owoc) {
  2. foreach($zakupy as $kupujacy) {
  3. static $kupione_owoce = array();
  4. if($kupujacy['owoc'] == $owoc && !in_array($kupujacy['owoc'], $kupione_owoce)) {
  5. $kupione_owoce[] = $owoc;
  6. continue;
  7. }
  8. }
  9. }


Czy jest jakas szybsza i latwiejsza metoda? Ocyzwiscie w powyzszym przykladzie wszystko jest maksymalnie uproszczone.

Pozdrawiam,

Pawel

Ten post edytował pablo2 4.11.2009, 22:42:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


in_array
array_search

Ten post edytował potreb 4.11.2009, 21:48:11


--------------------

Go to the top of the page
+Quote Post
pablo2
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 18.11.2007

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


dzieki za odpowiedz, ale nie do konca jest ona rozwiazaniem (moze niedokladnie sprecyzowalem pytanie).

Bez wzgledu na to czy uzywam 'in_array', czy 'array_search' musze zrobic dwupoziomowe 'foreach', co przy bardzo duzej ilosci rekordow moze znacznie wydluzyc czas dzialania skryptu. Zalezaloby mi na tym zeby jakos to obejsc.
Go to the top of the page
+Quote Post
seth-kk
post
Post #4





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


zserializuj i bedziesz mial pojedynczego stringa do przeszukania


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 07:12