Spiegatemi per favore questa cosa che per me ha dell'assurdo.

l'utente inserisce un numero da form.
Lato server leggo la variabile

$var = $_REQUEST['var'];

se faccio un controllo del tipo

if ($var < 1)

non mi restituisce il valore giusto!
Intuendo che fosse un problema di tipi ho provato con la funzione is_string e scopro che lo considera come stringa.

Ma il php non fa la conversione implicita dei tipi?
se faccio $var + 1 mi dà il risultato giusto, ma se uso operatori di confronto no!

Esiste il modo di fare il cast forzato?