Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> strpos(), jak działa !
Smoker
post 30.05.2009, 00:11:54
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


ogólnie operuje na liczbach DWU członowych (tzn liczby od 0 od 99 gdzie 5 to 05 a 86 to 86, a pomiędzy nimi spacja)

i teraz mam jakiś ciąg liczb np: 45 96 45
user poprzez skrypt wybiera liczby takie tak np: 42 56 75

skrypt pokazuje wiadomość ile liczb trafił... ciąg wylosowanych liczb(rand) zapisuje w jednej zmiennej jako string, ktory jest sprawdzany instrukcją strpos() z liczbami wylosowanymi przez usera

po całym dniu przemysleń mam gotowy skrypt tylko, że zawiera on mały błąd... czasem(żadko) pokazuję, że trafiliśmy jedną liczbę więcej, niż stało się to naprawdę, lub pokazuję, że trafiliśmy jedną liczbę mniej, niż naprawdę

sprawdzam to od kilku dni, błędu w kodzie nie ma! (początkowo stwierdziłem, że jest zbyt wiele mozliwości w if odzielonych || i serwer nie daje rady (teraz żadziej pokazuje ten błąd) wiec zrobilem z tego if else (tych liczb jest wiecej niz 3)). Pozatym dzieje się to tylko czasem a nie zawsze, co mi nie sprawia radości, bo nie działa tak jak powinno!

jest jakaś inna sensowna instrukcja sprawdzająca ciągi znaków ? lub cos podobnego co pozwoli mi zrobic taki skrypt ?

Ten post edytował Smoker 30.05.2009, 00:13:14


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
vokiel
post 30.05.2009, 00:34:47
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Sprawdź w jakich sytuacjach to występuje. Czy usr wybierając 5 wybiera 5 czy 05?
Cytat
ciąg wylosowanych liczb(rand) zapisuje w jednej zmiennej
- może po wylosowaniu liczby <10 zapisywana jest jako jeden znak, pomimo rzutowania na stringa. Dopełniaj zerem str_pad

A jeśli to nie pomoże to pokaż jakiś kod winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Smoker
post 30.05.2009, 01:09:40
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


nawet nie wiedzialem ze istnieje cos takieg jak str_pad ^^ ale mam wlasna funkcje ktora cyfry mniejesze od 10 zapisjue jako 0.$liczba." " czyli raczej na tej samej zasadzie dziala... najbardziej irytuje mnie to, ze gdy rozdzielilem if(cos||inne_cos) na if(cos) else if(inne_cos) to zadziej pokazue ten blad

ps. kodu nie mam po co pokazywac, bo w kodzie bledu nie ma! błąd jest w działaniu tej instrukcji (bo sie gubi przy zbyt duzych danych) dlatego szukam tylko innej instrukcji sprawdzającej ciąg znków bo pisanie jej samemu w moim przypadku wiąże się z milionami linijkami kodu, co jest raczej bezsensowne!


Ps2:
  1. <?php
  2. $a = 'a b c'; //międzynimi spacja
  3. $b = 'bc'; // bez spcji
  4. if (strpos($a, $b) === false){
  5. echo "Nie trafiłeś!";
  6. }
  7. else{
  8. echo "Trafiłeś";
  9. }
  10. // i tu mniej wiecej raz na 100 pojawia sie ten problem ze niby pisze ze trafiłem!!!?>


ps3:
dalej mam tysiac linijek kodu ktory nie dziala tak jak powinien... chodzi mi o inna instrukcje, bo ta nie daje rady ^^

Ten post edytował Smoker 30.05.2009, 10:46:04


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
okitoki
post 30.05.2009, 03:53:18
Post #4





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


w tym kodzie masz co najmniej 2 błędy w linijce 3 i 10


--------------------
Go to the top of the page
+Quote Post
Smoker
post 30.05.2009, 09:37:07
Post #5





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


oj dobra na szybko pisalem to i to tylko do przykladu ^^ a dla takich bledow od razu Parse error by wyskoczyl

Ten post edytował Smoker 30.05.2009, 10:46:32


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
megawebmaster
post 30.05.2009, 16:00:44
Post #6





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Nie łatwiej operować Ci na tablicach? Chociażby explode() rozbić na tablicę i sprawdzać. Podwójna pętla i już. Takie coś nie powinno wywalać błędów w ogóle.
Go to the top of the page
+Quote Post
Smoker
post 2.06.2009, 15:31:45
Post #7





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


ale jak to ? Co by miał sprawdzac w głownej pętli a co w kolejnej ?


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
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 - 12:57