Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja is_int
xardes
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.03.2011

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


Witam, piszę stronkę i chcąc się zabezpieczyć przed jakimiś błędami stworzyłem sobie taką instrukcje:

  1. if(isset($_GET['wydarzenie']) == TRUE && is_numeric($_GET['wydarzenie']) == TRUE && is_int($_GET['wydarzenie']) == TRUE){}


problem polega na tym ze jak w tej instrukcji nie ma funkcji is_int() to wszystko działa porządnie a jak jest to gdy zmiennej wydarzenie przypisze np: 5 to instrukcja nie zostaje wykonana dlaczego?

A może jest inny sposób na sprawdzenie czy dana zmienna jest liczbą całkowitą
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
desperat666
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 12
Dołączył: 19.03.2011

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


Typ integer to liczba całkowita, należąca do przedziału Z = {..., -2, -1, 0, 1, 2, ...}.

(PHP 4, PHP 5)
is_int — Find whether the type of a variable is integer
Note:
To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().
is_numeric: Returns TRUE if var is a number or a numeric string, FALSE otherwise.
ctype_digit — Check for numeric character(s)


no więc:

  1. function CzyToLiczbaCalkowita($To) {
  2. if (is_numeric($To)) {
  3. if (ctype_digit($To)) {
  4. $x = (int) $To;
  5. if (is_int($x)) { return TRUE; }
  6. }
  7. }
  8. return FALSE;
  9. }
  10.  
  11. if (isset($_GET['wydarzenie'])) {
  12. if (CzyToLiczbaCalkowita($_GET['wydarzenie'])) { echo "yay"; } else { echo "mam dziurę w prawej górnej siódemce"; }
  13. }
  14.  


Ten kod sprawdzi czy to jest liczba całkowita dodatnia ze zbioru integer.

Ten post edytował desperat666 20.03.2011, 19:22:10
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 19:35