Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PORÓWNANIE TABLIC
Forum PHP.pl > Forum > Przedszkole
piotrdd2
Witam

czy jest jakies polecenie prównujące dwie tablice
np.

  1. <?php
  2.  
  3. $a1=array(&#092;"ziomal\", \"wariat\", \"mafiozo\", \"czub\", \"dezy\", \"one\"); 
  4. $a2=array(&#092;"one\", \"wariat\", \"ziomal\");
  5. ?>


w pierwszej "a1" zawsze bedzie więcej danych, w drugiej mniej (lub tylesamo) co w pierwszej. W "a2" zawsze będą nazwy które znajduja się w "a1" (wiec w tym przypadku nie ma takiej mozliwości aby było w "a2" np. "wiir", "kory").

I teraz chodzi mi o to aby porównało te dwie tablice czy w "a2" i pokazało mi to czego brakuje w "a2" a jest w "a1" (kolejność w obu tablicach jest różna)


Jak by cos było niejasne (mogłem sam się zamotać tongue.gif ) piszcie.
rogrog
Poszukaj w manualu

podpowiem że zaczyna się od array_d... tongue.gif
piotrdd2
  1. <?php
  2. $tablica1 = array (=> &#092;"zielony\", \"czerwony\", \"niebieski\", \"różowy\", \"granatowy\", \"rody\", \"fiolet\");
  3. $tablica2 = array (=> &#092;"czerwony\", \"różowy\");
  4. $wynik = array_diff ($tablica1, $tablica2);
  5.  
  6. echo &#092;"<b>\".count($wynik).\"</b><br><br>\";
  7.  
  8. for($i=0;$i<count($wynik)+1;$i++){ 
  9. echo $wynik[$i].&#092;"<br>\";
  10. }
  11.  
  12. ?>


hmmm, pownno mi wyświetlić
zielony, niebieski, granatowy, rody, filet
ale zielonego nie wyswietla - co jest źle ?
... i jak usunąć puste miejsca

- dawno w php nie siedziałem sadsmiley02.gif


-----------

Doszedłem do takiego czegoś, może być ?
  1. <?php
  2. $tablica1 = array (&#092;"zielony\", \"czerwony\", \"niebieski\", \"różowy\", \"granatowy\", \"rody\", \"fiolet\");
  3. $tablica2 = array (&#092;"granatowy\", \"różowy\", \"czerwony\");
  4. $wynik = array_diff ($tablica1, $tablica2);
  5.  
  6. for($i=0;$i<count($tablica1);$i++){ 
  7. if($wynik[$i]!=&#092;"\"){$wynika[] = $wynik[$i];}
  8. }
  9.  
  10.  
  11. echo &#092;"<b>\".count($wynika).\"</b><br><br>\";
  12. for($i=0;$i<count($wynika);$i++){ 
  13. echo $wynika[$i].&#092;"<br>\";
  14. }
  15.  
  16. ?>
mrbungle
Cytat(piotrdd2 @ 26.09.2004, 19:56:08 ) *
  1. <?php
  2. $tablica1 = array (=> &#092;"zielony\", \"czerwony\", \"niebieski\", \"różowy\", \"granatowy\", \"rody\", \"fiolet\");
  3. $tablica2 = array (=> &#092;"czerwony\", \"różowy\");
  4. $wynik = array_diff ($tablica1, $tablica2);
  5.  
  6. echo &#092;"<b>\".count($wynik).\"</b><br><br>\";
  7.  
  8. for($i=0;$i<count($wynik)+1;$i++){ 
  9. echo $wynik[$i].&#092;"<br>\";
  10. }
  11.  
  12. ?>


Pomijając rozwiazanie (zreszta słuszne) to sie zastanawiam co to jest "rody"... mi sie zawsze wydawało że rudy tongue.gif... Sorak za OFFTOP ale nie mogłem sie powstrzymać
erix
Jeszcze jedno odgrzanie mrożonki z bezsensownym komentarzem i dostaniesz warna.

edit: ~webdice puściły nerwy. ;]
webdice
Patrz gdzie piszesz, wątek ma prawie pięć lat. Zamykam.

Cytat(mrbungle @ 27.05.2009, 15:46:27 ) *
(...) Sorak za OFFTOP ale nie mogłem sie powstrzymać


"Sorak" za warna, ale nie mogłem się powstrzymać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.