Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Tablica wyjątków w pętli foreach
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Mam kod:
  1. $zmienne = array(
  2. '1',
  3. '2',
  4. '3');
  5. if($_POST['tekst'])
  6. {
  7. foreach($zmienne as $zmienna)
  8. {
  9. if (strstr($_POST['tekst']),$zmienna)
  10. //wykonanie warunku
  11. }
  12. }
Jednak gdy wpiszę liczby "11", "22", "33" (liczby dwucyfrowe) warunek również się wykonuje. Jak teraz wykonać drugą tablicę wyjątków żeby gdy pętla foreach napotka na cyfrę z pierwszej tablicy sprawdzała czy nie ma wyjątku w drugiej tablicy i gdy taki napotka nic nie robiła i przechodziła do następnej liczby. Ogólnie chodzi żeby pętla wykonywała warunek, ale nie gdy element znajduje się w tablicy wyjątków.

Ten post edytował Szunaj85 24.09.2009, 19:08:38


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
Berg
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 37
Dołączył: 1.05.2008
Skąd: Białystok

Ostrzeżenie: (0%)
-----


  1. $zmienne = array(
  2. '1',
  3. '2',
  4. '3');
  5.  
  6. if($_POST['tekst']) {
  7. if(in_array($_POST['tekst'], $zmienne)) {
  8. //wykonanie warunku
  9. }
  10. }
Go to the top of the page
+Quote Post
Szunaj85
post
Post #3





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Berg napisałeś kod i teraz nie wiem czy to edycja mojego wcześniejszego kodu, druga tablica czy co... blinksmiley.gif Nie jestem pewien czy mnie zrozumiałeś. Jeśli chodzi o kod musi on wyglądać dokładnie jak powyżej ze względu na budowę skryptu. Nie mogę usunąć pętli czy zamienić strstr na in_array.
  1. $zmienne = array(
  2. '1',
  3. '2',
  4. '3');
  5. if($_POST['tekst'])
  6. {
  7. foreach($zmienne as $zmienna)
  8. {
  9. if (strstr($_POST['tekst']),$zmienna)
  10. //Wykonywanie warunku
  11. }
  12. }
I teraz co i gdzie zmienić w tym skrypcie żeby działało jak opisałem w swoim pierwszym poście. Coś w rodzaju eles if tylko, że w pętli foreach.Warunek mi się wykonuje bo po wpisaniu liczby np. "33" skrypt przeszukując ciąg widzi cyfrę 3, która jest w tablicy, a nie 33. Chodzi o coś podobnego do tego, że jak masz w tablicy słowo "przykład", a wpiszesz "naprzykład" to skrypt też uzna, że w ciągu jest podane słowo. Stąd chcę stworzyć tablicę wyjątków.

Ten post edytował Szunaj85 24.09.2009, 20:54:00


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
Berg
post
Post #4





Grupa: Zarejestrowani
Postów: 180
Pomógł: 37
Dołączył: 1.05.2008
Skąd: Białystok

Ostrzeżenie: (0%)
-----


  1. $zmienne = array(
  2. '1',
  3. '2',
  4. '3');
  5. if($_POST['tekst'])
  6. {
  7. foreach($zmienne as $zmienna)
  8. {
  9. if (mb_strpos($_POST['tekst'], $zmienna) !== false)
  10. //Wykonywanie warunku
  11. }
  12. }

Go to the top of the page
+Quote Post
Szunaj85
post
Post #5





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Berg czy poza pisaniem kodu nic innego nie potrafisz napisać? Mógłbyś opisać działanie swojego kodu. Na twoich przykładach widzę jedną tablicę, a gdzie druga? W ogólne nic nie kapuje. wacko.gif

Ten post edytował Szunaj85 28.09.2009, 16:58:06


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
potreb
post
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jak ci kolega ładnie daje odpowiedzi to nie krytykuj go za to że nie potrafisz zajrzeć do manuala.

Przeczytałeś chociaż w manualu o tej funkcji?
strstr

Ten post edytował potreb 28.09.2009, 17:30:40


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 12:36