Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja do przeszukiwania tablicy
Forum PHP.pl > Forum > Przedszkole
pablo2
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
potreb
in_array
array_search
pablo2
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.
seth-kk
zserializuj i bedziesz mial pojedynczego stringa do przeszukania
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.