Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Filtrowanie tablicy 2 - wymiarowej
tvister
post 15.04.2010, 11:43:12
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


Witam

Jak wyszukać w takiej tablicy wszystkie np. id='a'.

  1. $tabl[] = array('id'=>'a','wart'=>'1');
  2. $tabl[] = array('id'=>'b','wart'=>'1');
  3. $tabl[] = array('id'=>'a','wart'=>'1');


Interesuje mnie rozwiązanie za pomocą jakiejś wbudowanej funkcji lub zestawu funkcji.
Bo mam wrażenie że się da to zrobić bez pętli oraz bez użycia interfejsu FilterIterator.
Może parametryzacja filter_var_array pytanie tylko jak.

Rozwiązanie które przychodzi mi na myśl to array_map więc stworzyłem takiego potwora:
  1. key(array_filter(array_map('array_intersect_assoc', $tabl, array_fill(0, count($tabl), array('id'=>'a')))));


ale może macie inne pomysły winksmiley.jpg

Ten post edytował tvister 15.04.2010, 12:06:05


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wookieb
post 15.04.2010, 11:45:46
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




array_filter i odpowiednie funkcja, która musisz napisać sam


--------------------
Go to the top of the page
+Quote Post
tvister
post 15.04.2010, 11:54:38
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


Myślałem nad stworzeniem funkcji - callback, ale też chciałbym tego uniknąć.


--------------------
Kto rano wstaje ten leje jak z cebra.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:29