Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeszukiwanie tablicy
proxy
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2009

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


Jak znaleźć wartość superwartosc w tej tablicy?

  1. $zmienna = array
  2. (
  3. 1=>array
  4. (
  5. 1=>array('klucz1'=>'wartosc1','klucz2'=>'wartosc2'),
  6. 2=>array('klucz1'=>'wartosc1','klucz2'=>'wartosc2')
  7. ),
  8. 2=>array
  9. (
  10. 1=>array('klucz1'=>'wartosc1','klucz2'=>'superwartosc'),
  11. 2=>array('klucz1'=>'wartosc1','klucz2'=>'wartosc2')
  12. )
  13.  
  14. .
  15. .
  16. .
  17. .
  18. 990=>array ( ... )
  19. );


Muszę po prostu wiedzieć, że taka wartość istnieje w tablicy. Próbowałem in_array, array_search i coś nie bardzo.
Pojedyncze przeszukiwanie tablicy odpada bo w tablicy będzie około 1000 kluczy (tych głównych).

Jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quadina
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

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


Tak czy inaczej musisz przez te pętle po prostu przejść. Proponuje coś takiego:

  1. function znajdz($tablica,$coszukam){
  2. foreach($tablica as $a=>$v1){
  3. foreach($v1 as $b=>$v2){
  4. foreach($v2 as $c=>$v3){
  5. if($v3==$coszukam)return array($a,$b,$c);
  6. }
  7. }
  8. }
  9. return null;
  10. }

Funkcja zwroci ci tablice indeksow kolejnych zaglebien albo null jak nie znajdzie.
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: 16.10.2025 - 23:34