Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przeszukiwanie tablic wielowymiarowych
Forum PHP.pl > Forum > PHP
Grzesiek23
Witam!

Nie wiem, czy dobrze to ująłem - mam takie o to tablice:

  1. Array ( [0] => Array ( [groupID] => 2 ) [1] => Array ( [groupID] => 14 ) )


czy np:

  1. [0] => Array ( [0] => 1 [1] => John Smith [2] => johnsmith@example.com [3] => johnsmith )
  2. [1] => Array ( [0] => 2 [1] => Magda Hellman [2] => magda_h@example.com [3] => magdah )
  3. [2] => Array ( [0] => 3 [1] => Yvonne de Gaulle [2] => ydg@example.com [3] => ydegaulle )
  4. )



Jak teraz (pierwszy przykład) mogę przeszukać tę tablicę w poszukiwaniu określonego groupID?

Jak łatwo się można domyślić przetwarzam w pętli wyniki, których jeden parametr chciałbym porównać właśnie z taką tablicą.

Oczywiście mogę puścić kolejną pętlę to tej przeszukiwanej tablicy, ale czy naprawdę nie ma lepszego sposobu na to?
tehaha
możesz albo napisać własną funkcję rekursywną albo prościej skorzystać z tego http://www.php.net/manual/en/function.arra...k-recursive.php
Grzesiek23
Udało mi się znaleźć coś takiego, co działa smile.gif

  1. public function in_multi_array($needle, $haystack) {
  2. $in_multi_array = false;
  3. if(in_array($needle, $haystack)) {
  4. $in_multi_array = true;
  5. } else {
  6. foreach ($haystack as $key => $val) {
  7. if(is_array($val)) {
  8. if($this->in_multi_array($needle, $val)) {
  9. $in_multi_array = true;
  10. break;
  11. }
  12. }
  13. }
  14. }
  15. return $in_multi_array;
  16. }

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.