Foros del Web » Programando para Internet » PHP »

Comprobar si es un numero Entero

Estas en el tema de Comprobar si es un numero Entero en el foro de PHP en Foros del Web. Intento validar el numero de Key de un array y lo toma como false. Código PHP: $array  = array( 0 => "Gato" , 1 => "Perro" ...
  #1 (permalink)  
Antiguo 07/04/2009, 15:10
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Comprobar si es un numero Entero

Intento validar el numero de Key de un array y lo toma como false.
Código PHP:
$array = array(0=>"Gato",1=>"Perro",2=>"Oso");

foreach (
$array AS $key => $value){
if(!
ctype_digit($key)){ echo "$key no es número"; }

}
/*
0 no es número
1 no es número
2 no es número
*/ 
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 07/04/2009, 15:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Comprobar si es un numero Entero

is_numeric
  #3 (permalink)  
Antiguo 07/04/2009, 15:35
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Comprobar si es un numero Entero

entero .
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #4 (permalink)  
Antiguo 07/04/2009, 15:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Comprobar si es un numero Entero

Puedes hacer una comparacion con floor y así podrías ver si es entero o tiene decimales, por ejemplo:
Código php:
Ver original
  1. $num = 4.5;
  2. $num2 = 4;
  3. if( $num == floor($num) ) {
  4.      echo $num . "es un numero";
  5. }
  6. if( $num2 == floor($num2) ) {
  7.      echo $num2 . "es un numero";    
  8. }

Saludos.
  #5 (permalink)  
Antiguo 07/04/2009, 17:04
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Comprobar si es un numero Entero

Si.. es sin duda una buena condición, gracias pero la comprobación de un número apenas lo uso, es para verificar si el name[] de un form es número, si no es me tira error al ejecutar la comprobación, lo que me es curioso por que en el key del array no funciona, eso es lo que quiero saber por q ctype_digit debería funcionar.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #6 (permalink)  
Antiguo 07/04/2009, 22:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Comprobar si es un numero Entero

Esto es porque ctype_digit, solo funciona con strings, si quieres checar el key de tu array castealo a string:
Código php:
Ver original
  1. $array = array(0=>"Gato",1=>"Perro",2=>"Oso");
  2.  
  3. foreach ($array AS $key => $value){
  4. if(!ctype_digit((string) $key)){ echo "$key no es número"; }
  5.  
  6. }

Saludos.
  #7 (permalink)  
Antiguo 08/04/2009, 12:52
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Comprobar si es un numero Entero

Funciona! gracias.
__________________
/* 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.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.