Możesz użyć ctype_alpha, aby sprawdzić znaki alfabetu.
Podobnie, możesz użyć ctype_digit, aby sprawdzić znaki numeryczne.
is_numeric
- stwierdza, czy zmienna jest ilość lub ciąg liczbowy
is_numeric()
przykład:
<?php
$tests = array(
"42",
0b10100111001,
"not numeric",
array(),
9.1
);
foreach ($tests as $element) {
if (is_numeric($element)) {
echo "'{$element}' is numeric", PHP_EOL;
} else {
echo "'{$element}' is NOT numeric", PHP_EOL;
}
}
?>
Powyższy przykład Wydajność:
'42' is numeric
'1337' is numeric
'not numeric' is NOT numeric
'Array' is NOT numeric
'9.1' is numeric
przypadku ctype_digit()
i is_numeric()
różnią się?
Przykład porównywania ciągów z liczb:
<?php
$numeric_string = '42';
$integer = 42;
ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 is the * character)
is_numeric($numeric_string); // true
is_numeric($integer); // true
?>
to możliwe, aby użyć wyrażenia regularnego na cały ciąg zamiast iteracji nad każdą postacią? –
Sprawdź http://stackoverflow.com/q/9721636/1169798 i http://php.net/manual/en/function.is-numeric.php – Sirko
'is_numeric()' powinno wystarczyć do sprawdzania liczb. – tradyblix