Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tablica wyjątków w pętli foreach
Forum PHP.pl > Forum > Przedszkole
Szunaj85
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.
Berg
  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. }
Szunaj85
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.
Berg
  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. }

Szunaj85
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
potreb
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
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.