Foros del Web » Programando para Internet » PHP »

Comprobar si número es entero

Estas en el tema de Comprobar si número es entero en el foro de PHP en Foros del Web. Hola, Tengo un get: &pagina= 3 Código PHP: $num   =  $_GET [ "pagina" ]; echo ( is_int ( $num )) ?  "Es numérico"  :  "No lo es" ;  En el ...
  #1 (permalink)  
Antiguo 07/12/2008, 15:38
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 18 años
Puntos: 56
Comprobar si número es entero

Hola, Tengo un get: &pagina=3

Código PHP:
$num  $_GET["pagina"];

echo (
is_int($num)) ? "Es numérico" "No lo es"
En el método $_GET me devuelve false, lo que tengo entendido es por que lo convierte en variable "3", pero en éste caso como compruebo si el get es número? habrá una función predefinida ? Saludos y Gracias.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 07/12/2008, 15:40
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Comprobar si número es entero

Todo lo proveniente de GET se convierte a cadena.

Lo que puedes hacer es usar: http://www.php.net/manual/es/function.ctype-digit.php
Tambien puedes forzar el valor a convertirse en un entero, usando intVal(), o usando un cast (int) $num;

Última edición por Ronruby; 07/12/2008 a las 15:49
  #3 (permalink)  
Antiguo 08/12/2008, 00:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Comprobar si número es entero

o usar... is_numeric ???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/12/2008, 17:12
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comprobar si número es entero

is_numeric() devuelve true tanto con números enteros como con decimales. Con php hay problemas para ver si un número es realmente entero, justamente debido a que una variable es convertida a int o a string dependiendo del contexto. Mira esta función, te puede ser útil:

Código PHP:
function _is_int($str) {
    return (string)
$str === (string)(int)$str;

Saludos,
  #5 (permalink)  
Antiguo 09/12/2008, 20:22
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 18 años
Puntos: 56
Respuesta: Comprobar si número es entero

Ya me quedado con ctype, is_numeric toma decimales, solo quiero tomar los enteros, Gracias a todos ^^
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:52.