Foros del Web » Programando para Internet » PHP »

Error ilogico

Estas en el tema de Error ilogico en el foro de PHP en Foros del Web. Buenas, me pasa lo siguiente: si hago un echo $_SESSION['currMonth']; me devuelve un 06 si hago un echo $months[06]; me devuelve Junio entonces porque si ...
  #1 (permalink)  
Antiguo 18/06/2003, 19:29
Avatar de Darksoft  
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 7 meses
Puntos: 0
Error ilogico

Buenas, me pasa lo siguiente:
si hago un
echo $_SESSION['currMonth'];
me devuelve un 06

si hago un
echo $months[06];
me devuelve Junio


entonces porque si hago
echo $months[$_SESSION['currMonth']];
no me devuelve nada?!?!?!?!!!?
  #2 (permalink)  
Antiguo 18/06/2003, 21:03
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 14 años, 6 meses
Puntos: 2
prueba con:

echo $months[($_SESSION['currMonth']+0)];

quizas funcione
__________________
Foros en los que participo:
  #3 (permalink)  
Antiguo 18/06/2003, 23:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes usar sintax:

Complex (curly) syntax
http://www.php.net/manual/en/language.types.string.php

Código PHP:
echo $months{$_SESSION['currMonth']}; 
O .. si eso te parece "extraño" esa sintax: .. a la "clásica":

Código PHP:
$este_mes=$_SESSION['currMonth'];
echo 
$months[$este_mes]; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 19/06/2003, 05:48
Avatar de Darksoft  
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 7 meses
Puntos: 0
ya he encontrado el fallo, ahora lo que no se es como solucionarlo de forma "limpia"

el problema es que yo en $_SESSION['currMonth'] guardo un 06 por ejemplo pero si en php haces un
echo 06+1;
te devuelve un 7
yo necesitaria un 07
y como lo de comprobar que si es menor de 10 conccatenarle un 0 al principio no me gusta, pregunto si existe alguna otra solucion


gracias

bueno, solucionado, con un printf por aqui y obligandole a usar un minimo de 2 caracteres, ya esta arreglado
  #5 (permalink)  
Antiguo 20/06/2003, 01:02
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
... me parece que hay un problema con los indices del arreglo...

segun sé (salvo que me equivoke)
$month[06]
es distinto a
$month['06']

ya que en la primera el indice es el NUMERO 6 y en la segunda es un string '06' ...seguramente

$_SESSION['currMonth'] contiene un string y no un numero que es el que estas tratando de utilizar...

..quedo claro?
__________________
http://www.zypper.cl/blues.gif
(web-hosting)

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 11:23.