PHP prakticky/Kontrola platnosti čísla: Porovnání verzí

Smazaný obsah Přidaný obsah
Porthos (diskuse | příspěvky)
m Robot: Změna kategorie Kategorie:PHP
m Doplněno zvýraz. syntaxe
Řádek 1:
Skalární hodnoty z formulářového vstupu jsou typu STRING. Pokud potřebujeme zkontrolovat, jestli je zadaná hodnota číslo, je tu několik možností. Nejjednodušší je funkce '''is_numeric()''', ta ale bere v úvahu různé formáty čísla, takže přetypování může být nesnadné.
Funkce je citlivá na mezery na konci řetězce, před použitím je vhodná funkce <code>trim()</code>.
 
<syntaxhighlight lang="php">
<pre>
is_numeric(1); // true
is_numeric('1'); // true
Řádek 15:
 
$bool = is_numeric(trim($vstupni_hodnota)); // doporučené použití
</syntaxhighlight>
</pre>
 
Další možností je funkce '''ctype_digit()'''. Podle ASCII kódů zkontroluje řetězec na existenci jiných znaků, než čísel. Při prázdném řetězci se chování funkce liší podle verze PHP (do 5.1 true, od 5.1 false).
 
<syntaxhighlight lang="php">
<pre>
ctype_digit('1'); // true
ctype_digit('0777'); // true
Řádek 33:
// doporučené použití, prázdný řetězec znamená vždy false
$vstupni_hodnota = trim((string) $vstupni_hodnota);
$bool = $vstupni_hodnota != '' && ctype_digit($vstupni_hodnota);
</syntaxhighlight>
</pre>
 
[[Kategorie:PHP prakticky|Kontrola platnosti čísla]]