Vedi PHP is_numeric. Parla di tutto ciò che è permesso, ed è più di is_float
e is_int
.
E 'anche importante notare che is_int
funziona solo su cose che sono di tipo intero, il che significa rappresentazioni di stringa non sono ammessi. Questo è un problema comune quando si verifica che l'input del modulo sia un numero intero. È necessario utilizzare filter_var
o qualcosa della famiglia di filtri con il filtro FILTER_VALIDATE_INT
. Per i galleggianti, utilizzare FILTER_VALIDATE_FLOAT
.
Inoltre, se il motivo si sta cercando di verificare la presenza di un numero intero è quello di validare un parametro come un int, poi in PHP 7 si può fare questo:
function foo(int $i) {
// $i is guaranteed to be an int (is_int) will be true
}
PHP 7 ha due diverse modalità per la conversione in int; this answer lo spiega un po 'di più.
Si noti che questo probabilmente non è ciò che si desidera se si sta convalidando il contenuto di un elemento del modulo. Utilizzare la soluzione filter_var
per quello.
fonte
2011-11-29 07:19:35
Leggi questo contenuto della tabella: http://php.net/manual/en/language.types.php forse questo è quello che stai cercando .. –
Immagino che ero più confuso su ciò che sono galleggianti. Suppongo che tutto ciò che è un galleggiante sia anche numerico ma non il contrario. – ryanve