Autor | Zpráva | ||
---|---|---|---|
Brouzdy Profil * |
#1 · Zasláno: 20. 7. 2008, 22:38:53
Zdravím,
mám tento kód: <form action="<?php echo $PHP_SELF; ?>" method="get"> <input type="text" name="cislo" size="10"> <input type="submit" name="submit" value="Odeslat metodou GET"> </form> <?php $cislo = $_GET["cislo"]; echo $cislo."<br />"; echo "Typ proměnné \$cislo je ". gettype($cislo)."<br />"; $cislo2 = $cislo; settype ($cislo2, "integer"); echo "Typ proměnné \$cislo2 je ". gettype($cislo2)."<br />"; echo "A má hodnotu ". $cislo2."<br />"; ?> Můj problém spočívá v tom, že když zadám cokoliv do textového pole, jedná se o typ 'string'. V případě, když zadám "2eva", tak mi PHP převede na integer -> 2, což chápu.. ale nevím, jak to mám udělat, aby mi to vrátilo 0 ?! Protože nebylo zadáno "čisté číslo". Měly by se použít regulární výrazy, nebo to stačí lehčím způsobem ošetřit ? Díky.. |
||
bukaj Profil |
#2 · Zasláno: 20. 7. 2008, 23:05:17
$ciste_cislo = (string) intval($_GET['cislo']) === $_GET['cislo']; ? |
||
Brouzdy Profil * |
#3 · Zasláno: 20. 7. 2008, 23:27:23
Díky za odpověď, je to teda konverzní funkce, pokud použiju tento zápis "($_GET['cislo']) === $_GET['cislo']", tak mi to při nesmyslném vyplnění, tj. kombinace čísel a znaků (3abcdef) vypíše 1. To už je docela dobrý :)
Můžu se zeptat, co je to za zápis - ty tři rovnítka ? Díky.. |
||
Brouzdy Profil * |
#4 · Zasláno: 20. 7. 2008, 23:33:32
Teď jsem ještě našel funkci
is_numeric ta se taky dobře hodí :) |
||
Radim Hejhal Profil |
#5 · Zasláno: 21. 7. 2008, 09:25:57
Tři rovnítka porovnávají nejen obsah proměnných, ale i jejich typ (string, int apod.).
|
||
Časová prodleva: 16 let
|
0