[PHP] Elementy powtarzające się w Tablicy

Jest jakaś funkcja która zwróciłaby np. do tablicy1 elementy, które powtarzają się w tablicy2?

Np. mam tablicę:

$tablica2[0]="lalka";

$tablica2[1]="miś";

$tablica2[2]="lalka";

$tablica2[3]="klocki";

$tablica2[4]="lego";

$tablica2[5]="box";

$tablica2[6]="klocki";

i żeby jakaś funkcja zwróciła mi np. do tablicy wszystkie powtórzenia, w moim przypadku:

$tablica1[0]="lalka";

$tablica1[1]="klocki";

Z góry dzięki.

takiej funkcji raczej nie ma musiał bys napisać jakis algorytm :slight_smile:

poczytaj tutaj http://pl2.php.net/array

Właśnie też sam szukałem i nic nie znalazłem. Co do tego algorytmu nie mam pomysłu, możesz mi pomóc mówiąc mniej więcej od czego zacząć-nakierować mnie, a może dalej sobie poradzę. Dodam, że będzie odbywać się to na bardzo dużych tablicach (100000 wartości) i nie zależy mi zbytnio na szybkości, ponieważ będę i tak to robił lokalnie.

PS. A funkcji array_intersect nie da się jakoś zmodyfikować?

Wystarczą dwie zagnieżdżone pętle while.

Podstawiasz pod zmienną ROB pierwszy element z tablica2 i w pętli “lecisz” po nastepnych elementach z tablicy2 porównując je z ROB dopóki nie będą takie same (gdy takie same wtedy podstawiasz do drugiej tablicy ten element - tu “lalka”. - To jest petla wewnetrzna.

Zewnętrzna po prostu przebiega po indeksach tablicy tablica2 i wykonuje powyższy fragment (wewnętrzny)

Jest to wersja niezoptymalizowana - ale nie zależy Ci na szybkości.