A ver si te sirve algo así.
Habría que mejorar esta función un poco, aunque creo que funciona y puede resolver tu cuestion.
Código PHP:
Ver originalfunction dni($param) {
$result = "";
$cuantos = strlen($param) + 1; $value = str_pad($param, $cuantos, " ", STR_PAD_LEFT
);
return $result;
}
$dni = "31789779";
echo dni($dni)
Puedes comprobar que lo que envia el usuario es un INTEGER (Entero)