Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: strpos()
Forum PHP.pl > Forum > PHP
Smoker
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 ?
vokiel
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
Smoker
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 ^^
okitoki
w tym kodzie masz co najmniej 2 błędy w linijce 3 i 10
Smoker
oj dobra na szybko pisalem to i to tylko do przykladu ^^ a dla takich bledow od razu Parse error by wyskoczyl
megawebmaster
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.
Smoker
ale jak to ? Co by miał sprawdzac w głownej pętli a co w kolejnej ?
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.