Foros del Web » Programando para Internet » PHP »

Script sencillo pero no encuentro el problema

Estas en el tema de Script sencillo pero no encuentro el problema en el foro de PHP en Foros del Web. Hola Foro, a ver si me pueden dar una mano porque ya estoy un poco desconcertado con esto. Tengo el siguiente código: Código PHP: $mes ...
  #1 (permalink)  
Antiguo 12/08/2008, 08:30
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Script sencillo pero no encuentro el problema

Hola Foro, a ver si me pueden dar una mano porque ya estoy un poco desconcertado con esto.

Tengo el siguiente código:

Código PHP:
$mes=$_REQUEST['mes'];
    
    switch (
$mes) {
        case 
01: case 03: case 05: case 07: case 08: case 10: case 12:
            
$dias=array('01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');
            
            foreach(
$dias as $dia){
                echo 
$dia."<br>";
            }
            
            break;
        case 
04: case 06: case 09: case 11:
            
$dias=array('01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30');
            
            foreach(
$dias as $dia){
                echo 
$dia."<br>";
            }
            
            break;
        case 
02:
            
$dias=array('01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29');
            
            foreach(
$dias as $dia){
                echo 
$dia."<br>";
            }
            
            break;


Lo único que hace es a partir de un valor pasado por get imprime un arreglo (o sea si llega como parametro el mes=10 imprime los dias correspondientes a octubre) el problema concreto es que cuando el parametro mes es igual a 08 o 09 no funciona (no me muestra nada), y no entiendo por qué?

Desde ya muchas gracias!
  #2 (permalink)  
Antiguo 12/08/2008, 08:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Script sencillo pero no encuentro el problema

Hola chan,

Prueba usar '08', o '09', ya que si usas 08 directamente PHP lo interpreta como un numero hexadecimal.

Otra idea es pasar el parámetro por el cast de int:
Código PHP:
$mes = (int) $_REQUEST['mes']; 
Así creas un entero y solo comparas del 1 al 12.

Saludos.
  #3 (permalink)  
Antiguo 12/08/2008, 12:30
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Script sencillo pero no encuentro el problema

Gracias GatorV, era eso!
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 02:22.