![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w pętli wykonuję selecta. Wynik obrabiam i docelowo zapisuję. W rezultacie mam n-tablic lub jedną tablicę z n-tablicami w środku. Każda z nich ma jednakową budowę, tj. [0]=>string(2) "12", [1]=>string(2) "17" .... [n]=>string[1] "6" .... I teraz potrzebuję porównać wszystkie tablice i znaleźć element, który występuje w każdej z nich. Proszę o pomoc, w jaki sposób można to zrobić. Próbowałem z array_intersect ale nie działa do końca dobrze [porównuje każdą tablicę do poprzednika]. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A ty chcesz co? Każdą z każdą?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tak, chcę sprawdzić wszystkie utworzone tablice i wyszukać w nich element/-y wspólne - czyli te, które występują w każdej z nich.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze zrozumiałem, że chodzi Ci o array-intersect?
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Próbowałem z array_intersect ale nie działa do końca dobrze [porównuje każdą tablicę do poprzednika]. No to przecież to jest to, o co Ci chodzi. Mając np. 4 tablice najpierw porównujesz 1 z 2 otrzymując część wspólną (też jako tablicę), potem tą tablicę z 3 i analogicznie dla 4. W efekcie otrzymasz część wspólną wszystkich 4 tablic. Nie musisz sprawdzać każdej z każdą. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
mam taką strukturę tabeli... i teraz array intersect nie działa tak jak trzeba... albo ja coś źle robię. Jak widać, tutaj wynikiem powinno być tylko [product_id] => 10 bo wystepuje w każdej z tablic. Jakieś pomysły?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Najpierw pisales, ze masz plaskie tablice z wartosciami tekstowymi i juz.
Teraz sie okazuje, ze jednak nie masz plaskich tablic, tylko ich wartosci są tablicami. Nic dziwnego, ze proste wywolanie intersect nie dziala jak nalezy. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 13 Dołączył: 3.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
na szybko
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@kalipek: Wartość ma być we wszystkich a nie zliczone
![]() @ To Ci ułatwi sprawę:
Ten post edytował Pyton_000 15.09.2014, 15:39:41 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 13 Dołączył: 3.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Drogi Pytonie, $inAll zawiera elementy, które pojawiają się w każdej z tablic i dla przykładu podanego przez pytającego zwraca dokładnie to, czego oczekuje ("tutaj wynikiem powinno być tylko [product_id] => 10").
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:21 |