Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]stripos nie działa ...
pawkow
post 22.06.2008, 18:20:54
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

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


  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 ?

Ten post edytował Ociu 22.06.2008, 18:53:45
Powód edycji: Poprawiłem bbCode (ociu)
Go to the top of the page
+Quote Post
scanner
post 22.06.2008, 18:29:44
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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. ?>


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
nevt
post 22.06.2008, 18:33:00
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


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. ?>


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
zakręcony
post 22.06.2008, 18:35:01
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 10
Dołączył: 26.09.2007

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


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)

Ten post edytował ayeo 22.06.2008, 18:55:28


--------------------
Rachunkowość w biurze we Wrocławiu: biuro rachunkowe wrocław, miejca parkingowe przy Okęciu parking Okecie.
Go to the top of the page
+Quote Post
scanner
post 22.06.2008, 18:37:20
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




~zakręcony: wiesz co piszesz i po co czy tylko posty nabijasz?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
zakręcony
post 22.06.2008, 18:40:06
Post #6





Grupa: Zarejestrowani
Postów: 107
Pomógł: 10
Dołączył: 26.09.2007

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


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?


--------------------
Rachunkowość w biurze we Wrocławiu: biuro rachunkowe wrocław, miejca parkingowe przy Okęciu parking Okecie.
Go to the top of the page
+Quote Post
pawkow
post 22.06.2008, 18:41:12
Post #7





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

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


Dobra, temat do zamknięcia, faktycznie, błąd logiczny winksmiley.jpg
Go to the top of the page
+Quote Post
scanner
post 22.06.2008, 18:46:22
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




~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.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Ociu
post 22.06.2008, 18:53:14
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




PHP -> Przedszkole.
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 20:09