Come get int invece string da module?

Ottenere variabile dal module:

<form method = 'POST' action = ''> <input type = 'text' name = 'a' size = '1' > <input type = 'submit' value = 'Find it'> </form>" 

Se inserisco 1 e utilizzo gettype ($ POST _ ['a']) mi restituisce string, è ansible inserire int? perché dopo questo voglio controllare se quella variabile è int.

AGGIORNARE

Hai risposte che restituisce sempre stringhe e mi hanno proposto di usare (int) o intval (), ma se è veramente una string come 'a' restituisce 0, ma potrebbe essere anche il valore integer 0, come superare questo problema?

AGGIORNARE

Dopo aver modificato l'errore, Brad Christie ha suggerito il modo migliore, utilizzando is_numbersc

 // convert the $_POST['a'] to integer if it's valid, or default to 0 $int = (is_numbersc($_POST['a']) ? (int)$_POST['a'] : 0); 

Puoi usare is_numbersc per controllare, e php permette anche il casting per il tipo integer .

Per i confronti effettivi, puoi eseguire is_int .

Aggiornare

La versione 5.2 ha filter_input che potrebbe essere un po 'più robusto per questo tipo di dati (e altri):

 $int = filter_input(INPUT_POST, 'a', FILTER_VALIDATE_INT); 

Ho scelto FILTER_VALIDATE_INT , ma c'è anche FILTER_SANITIZE_NUMBER_INT e molto altro – solo dipende da cosa vuoi fare.

Inviare via cavo via HTTP, tutto è una string. Spetta al tuo server decidere che "1" deve essere 1 .

No. HTTP tratta solo di text (o binari).

Devi convertirlo.

Userei (int)$_POST['a'] per convertirlo in un numero integer.