Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z is_int
Forum PHP.pl > Forum > Przedszkole
Wieviór
Używam przyjaznych url'i. Ładnie mi wszystko śmiga., tylko chciałem zrobić sprawdzenie czy zmienna $url[0] jest liczbą i tu już niestety coś nie działa.

  1. <?php
  2. if (is_int($url[0])) { echo $url[0]; } else { echo 'Nie bardzo.'; }
  3. ?>


Przy czym jak sobie wyechuję $url[0] to daje mi normalną wartość "5". Inna sprawa, że jak zamiast is_int wstawię is_numeric to przechodzi. Tylko nie rozumiem dlaczego :/
hondek
co to znaczy "coś nie działa?", jakiś błąd? czy wyświetla się poprostu "Nie bardzo" ?
Wieviór
No tak. Wyświetla się "Nie bardzo.", czyli po prostu if zwraca FALSE, nie uważa zmiennej za int.
marcio
Sprawdz za pomoca is_numeric() ale ob bierze pod uwage jako licze tez liczby zmiennoprzecinkowe ale nie jestem pewny jak nie masz blad gdzies wczesniej tongue.gif
hondek
Mnie sie wydaje ze jeżeli dajesz mu "5" to on to traktuje jak znak np.
$url[0] = "5"; //da Nie bardzo (FALSE) natomiast
$url[0] = 5; //wyswietli liczbe 5 (TRUE)
Wieviór
$url[0] jest równe "czyste" 5 i tu właśnie jest problem :/
hondek
może spróbuj rzutować tą zmienną w tym warunku (int)$url[0]
webdice
Zmienne z adresu traktowane są jak stringi. Wyprzedzając kolejne pytanie czemu is_int" title="Zobacz w manualu PHP" target="_manual działa tak a is_numeric" title="Zobacz w manualu PHP" target="_manual inaczej, zapraszam do manuala.
hondek
tak wlasnie myslalem... winksmiley.jpg
Wieviór
Wystarczyło mi pierwsze zdanie. Dzięki ;]
hondek
twierdziłeś ze to czyste 5...
Wieviór
Ha, no bo to jest czyste 5. Nie wiedziałem, że będzie to interpretowane jako string ;]
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.