Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie tych samych wartości z tablicy.
Forum PHP.pl > Forum > PHP
adek22
Witam.
Od wczoraj przeszukuję google ale nie znalazłem odpowiedzi na moje pytanie.
Tworze skrypt w którym to trzeba wysłać N sms'ów i otrzymane kody wpisać w odpowiednim polu. Zacząłem tworzyć skypt i zatrzymałem się w miejscu gdzie skrypt usuwa powtórzony kod. W podanym przykładnie należy podać 5 kodów.
  1. <?php
  2.  
  3. if(isset($_POST['kody'])){
  4. $kody=explode("\n",trim($_POST['kody']));
  5. if(count($kody) == 5){
  6. if(count(array_unique($kody)) == 5){
  7. echo 'Ok!';
  8. }else{
  9. echo 'Wpisz dokładnie 5 kodów!';
  10. }
  11. }else{
  12. echo 'Wpisz dokładnie 5 kodów!';
  13. }
  14.  
  15. };
  16. echo '<form name="" action="" method="POST"><textarea name="kody"> </textarea><input type="submit" value="Go!" /></form>';
  17. ?>


Przy wpisaniu np "kod1, kod1, kod2, kod3, kod4" Wszystko pięknie działa. Ale przy wpisaniu "kod1, kod2, kod3, kod4, kod4" już nie.
Z góry dziękuję za pomoc.
maly_swd
pokaz co zwraca print_r($kody);
marcio
  1. $kody=explode("\n",trim($_POST['kody']));


Robisz explode po \n a podajesz kody z przecinkami wiec........

adek22
Cytat(maly_swd @ 15.11.2009, 19:19:45 ) *
pokaz co zwraca print_r($kody);


Dla "kod1, kod1, kod2, kod3, kod4"
  1. Array ( [0] => kod1 [1] => kod1 [2] => kod2 [3] => kod3 [4] => kod4 )

Dla "kod1, kod2, kod3, kod4, kod4"
  1. Array ( [0] => kod1 [1] => kod2 [2] => kod3 [3] => kod4 [4] => kod4 )


Cytat(marcio @ 15.11.2009, 19:21:49 ) *
  1. $kody=explode("\n",trim($_POST['kody']));


Robisz explode po \n a podajesz kody z przecinkami wiec........

To jest tylko przykład użytych kodów. Normalnie kody wpisuje się jeden pod drugim winksmiley.jpg
maly_swd
rozbijasz po "\n"
kazda nastepna linia to chyba \r\n
wiec przy wszystkie wartosci po za ostatnia maja kod1\r kod2\r kod3\r kod4\r kod4

poniewaz za ostatnia wartoscia nie masz \r (czyli powrot karetki) - to teoria;)

zrob expolode po \r\n albo \n\r juz nie pamietam jak szlo:)
marcio
Przeciez widac ze zwraca mu dobra tablice.
maly_swd
marcio->"Przeciez widac ze zwraca mu dobra tablice.", znak powrotu karetki jest niewidoczny dla oka;)

widzisz roznice miedzy dwoma tablicami?
tab1 = kod1\r kod2\r kod3\r kod4\r kod4

tab2 = kod1 kod2 kod3 kod4 kod4

Ktora ma unikalne wartosci?
Ges
Według mnie musi być problem ze znakami białymi, nie widzę innej możlwości smile.gif
Możesz weż wszystkie wartości wcześniej trim() ?
maly_swd
Ges-> zobacz co ja napisalem 2 posty wyzej:)
Ges
Czytałem smile.gif Chciałem tylko wesprzeć Twoją opinię smile.gif
adek22
Dzięki, problem rozwiązany ;-))
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.