![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę napisać algorytm, który z dwóch tabel A i B wypełnionymi stringami, wsadzi do trzeciej tablicy C wszystkie stringi, które powtarzają się w tablicy A oraz B. Narazie zadeklarowałem dwie tablice, A i B:
I teraz jak to zrobić, żeby porównać te stringi w obu tablicach i wsadzić je do tablic C? Ten post edytował SubZero. 17.10.2008, 18:31:20 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie wymyślaj żadnych algorytmów tylko skorzystaj z manuala:
array_intersect" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
Chcę napisać ten algorytm w PHP, żeby móc go również przenieść na inne języki i nie chcę korzystać z funkcji PHP.
Ten post edytował SubZero. 17.10.2008, 18:50:02 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
W takim razie robisz pętle w pętli; zewnętrza pętla przelatuje po wszystkich elementach tablicy 1, natomiast wewnętrzna przelatuje po wszystkich elementach tablicy 2 szukając w niej aktualnego elementu. Jeśli znajdzie to wpisuje go do nowej tablicy.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
OK, napisałem algorytm... ale niestety tablica C coś nie chce mi wyświetlić zawartości.
Oto mój kod:
-------------------- Wesołych Świąt!:)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Oj kolego. Zanim zanim zaczniesz przenosić algorytmy między językami, to się php dobrze naucz
![]() nie
tylko
i dalej analogicznie -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
źle to napisałeś... aż się roi od błędów...
powinno dać dobre rezultaty -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o foreach" title="Zobacz w manualu PHP" target="_manual kod będzie przejrzystszy. echo możesz wywoływać bez nawiasów.
-------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
sprubuj tak: (ale nie sprawdzałem ;p)
Kod <?php $A = Array('Joe', 'Bob', 'Sarah', 'Bill', 'Suzy'); $B = Array('Joe', 'pos', 'suzy', 'Bob'); $lenghtA = count($A); $lenghtB = count($B); $C = Array(); for ($i=0; $i < $lengthA; ++$i) { for ($j=0; $j < $lengthB; ++$j) { if ($A[$i] == $B[$j]) $C[] = $A[j]; } } print_r($A); echo ("<br>"); print_r($B); echo ("<br>"); print_r($C); ?> wcze śniej musisz zdefiniować zmienną tablicową C... $C = Array(); nie kozystasz z petli while() tylko for() więc bez potrzeby jeszcze wewnątrz zwiekszasz wartości - w ten sposób przeskakujesz co drugi element.... przeanalizuj zagniezdżenie tych pętli, pętla wewnetrzna zostanie wykonana wiele razy po tych samych $B podmieniając tylko raz A petlą zewnętrzną... choć napisałem ++$i to mogło być tak jak bylo $i++.... petla for() zostaje wykonana od $i=0 (czyli juz dla 0 odliczasz pierwszy przebieg), skoro argumentow a $A jest pieć to policz (0;1;2;3;4) - tak więc $i< $lengthA... nie gwarantuję że jest dobże bo nie sprawdzałem ;p EDIT i jak widze jeszcze dokłądniej sprawdził nevt czy juz czasem nie ma elementu $A w tablicy $C: ($A[$i] == $B[$j]) && !in_array($A[$i], $C) Ten post edytował zegarek84 17.10.2008, 20:24:45 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
WOW! Wielkie dzięki chłopaki!
Przede mną sporo nauki ;-) [POMÓGŁ] kliknięte dla każdego z Was. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:56 |