Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]stripos nie działa ...
Forum PHP.pl > Forum > Przedszkole
pawkow
  1. <?php
  2. $report_arr = array();
  3. $report_arr[] = 'ble ble ble';
  4. $report_arr[] = 'Grupy Ilość Straty  Doświadczenie przed walką Doświadczenie po walce';
  5. $report_arr[] = 'Łucznik  50 0  492 492';
  6. $report_arr[] = 'ble ble ble';
  7.  
  8.  
  9. for ($i = 0; $i <= count($report_arr)-1; $i++)
  10. {
  11. if (stripos($report_arr[$i], 'Grupy') > 0) {
  12. echo $i;
  13. }
  14. }
  15. ?>

Kod nie zwraca absolutnie nic ... Widzi ktoś jakikolwiek błąd ?
scanner
stripos" title="Zobacz w manualu PHP" target="_manual zwraca pozycję napotkanego ciągu. W twoim przypadku widac wyraźenie, że Grupy znajdują się na pozycji zerowej.
dlatego też w takich sytuacjach nalezy sprawdzac dokładnie co zwraca funkcja czyli
  1. <?php
  2. if (stripos($report_arr[$i], 'Grupy') !== 0) {
  3. ?>
nevt
w kodzie nie ma błędu, za to jest błąd w logice.
stripos() zwraca pozycje podciągu indeksowaną od zera, więc twój warunek powinien wyglądać:
  1. <?php
  2. if (stripos($report_arr[$i], 'Grupy') >= 0) {
  3. ?>

ale jest jeszcze jedna pułapka, jak nic nie znajdzie, to zwróci FALSE co przy porównaniu z liczba zostanie zamienione na zero... więc tak naprawdę ten warunek powinien wygądać:
  1. <?php
  2. if (stripos($report_arr[$i], 'Grupy') !== false) {
  3. ?>
zakręcony
ja bym podmienił to:
  1. <?php
  2. if (stripos($report_arr[$i], 'Grupy') > 0)
  3. ?>

na
  1. <?php
  2. if (stripos(' '.$report_arr[$i].' ', 'Grupy') > 0)
  3. ?>

wtedy masz swoje $i winksmiley.jpg

edit:
lub tak jak podal nevt (napisał szybciej, no i inaczej)
scanner
~zakręcony: wiesz co piszesz i po co czy tylko posty nabijasz?
zakręcony
wiem co pisze, dzięki mojemu (może nie doskonałemu rozwiązaniu, bo te podał nevt) wiem w którym elemencie tablicy jest szukany wyraz, a nie w którym go nie ma, jak podałes Ty smile.gif

wydaje mi się czy na ilośc postów nie ma tu bonusów?
pawkow
Dobra, temat do zamknięcia, faktycznie, błąd logiczny winksmiley.jpg
scanner
~zakręcony: problemem było nie znalezienie klucza, ale zła obsługa wyników zwracanych przez funkcję. Poza tym, do danych, które trzeba przeszukać doklejasz jakiś inne zbędne dane - a to jest niedopuszczalne.
Ociu
PHP -> Przedszkole.
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.