Foros del Web » Programando para Internet » PHP »

settype. Cambiar de String a Integer no funciona.

Estas en el tema de settype. Cambiar de String a Integer no funciona. en el foro de PHP en Foros del Web. Saludos compañeros. Tengo un pequeño problema que quizas ustedes ya lo conozcan: Intengo hacer el cambio de tipo de variable de string (creo, pues eso ...
  #1 (permalink)  
Antiguo 02/02/2007, 09:20
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
settype. Cambiar de String a Integer no funciona.

Saludos compañeros.
Tengo un pequeño problema que quizas ustedes ya lo conozcan:
Intengo hacer el cambio de tipo de variable de string (creo, pues eso es lo que me vota cuando hago un gettype($variable)) pero me devuelve 1. Pero ese "String" me lo devuelve una funcion date("d"), ó date("m") ó date("Y").
véanlo ustedes mismos:
Código PHP:
$dia settype(date("d"),"integer");
$mes settype(date("m"),"integer");
$anyo settype(date("Y"),"integer"); 
Cuando hago un echo $dia; (por ej.) me arroja el numero 1. Vi las especificaciones en php.net, y dice que devuelve un booleano, pero tiene algo que ver eso con que me devuelva 1?

Espero se me haya entendido y estare atento a cualquier respuesta, muchas gracias
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #2 (permalink)  
Antiguo 02/02/2007, 09:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: settype. Cambiar de String a Integer no funciona.

Realmente no comprendo bien. O sea, date("d"), o cualquiera de los ejemplo que pones, ya da un integer como salida.

PD: Yo para forzarlo a integer uso un intval().
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 02/02/2007, 09:32
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: settype. Cambiar de String a Integer no funciona.

Hola nicolaspar, gracias por tu respuesta y el aporte de la funcion intval(); pude forzar como dices tú, la variable, pero lo malo es que necesito tener numeros con "cero" al inicio (02 --> el dia de hoy) y al usar intval me devuelve solo 2 sin el cero delante.

Ahora, si usamos la funcion gettype() para el valor devuelto por date("d") (por ej.), veo que me devuelve un string y no un integer.

Gracias por tu ayuda, si tuvieras alguna otra sugerencia estaré presto a leerte.

saludos.
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #4 (permalink)  
Antiguo 02/02/2007, 09:38
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: settype. Cambiar de String a Integer no funciona.

aqui les adjunto todo el codigo para que puedan probarlo por ustedes mismo..
Código PHP:
<?php
error_reporting
(E_ALL);
$meses = array(
    
01 => "Enero",
    
02 => "Febrero",
    
03 => "Marzo",
    
04 => "Abril",
    
05 => "Mayo",
    
06 => "Junio",
    
07 => "Julio",
    
08 => "Agosto",
    
09 => "Setiembre",
    
10 => "Octubre",
    
11 => "Noviembre",
    
12 => "Diciembre"
);
$dia date("d");
$mes date("m");
$anyo date("Y");
/*
echo $dia."<br>";
echo $mes."<br>";
echo $anyo."<br>";
*/
echo "<b style=\"font-size:9pt;\">Lima "$dia ." de "$meses[$mes]." del ".$anyo."</b>";
?>
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #5 (permalink)  
Antiguo 02/02/2007, 09:46
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: settype. Cambiar de String a Integer no funciona.

No hay porque! ;)
El array no lo uses con posiciones que tengan 0 delantes.
El mes llamalo NO con m sino con n, y si necesitas el día en vez de usar d usa w (este en caso de queres mostrar un string al estilo Lunes, Martes...).

Referencia
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 02/02/2007, 14:24
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: settype. Cambiar de String a Integer no funciona.

Hola nicolaspar, ya solucioné el problema como me dices, sin usar el 0 delante, pero, no entiendo bien eso que dices del "mes llamarlo NO".. bueno, de todas maneras te agradezco la ayuda... ya pude solucionarlo (Buena con la funcion intval(), no la sabia)

Saludos!!
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #7 (permalink)  
Antiguo 02/02/2007, 15:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: settype. Cambiar de String a Integer no funciona.

Claro, que al usar la función date para setear un mes, NO hacerlo con m como párametro sino con n:
Código PHP:
#SI
echo date("n"); //Ahora, enero, dará 1
#No
echo date("m"); //Ahora, enero, dará 01

#para días:
echo date("d"); //Hoy 2-2, dará 02
echo date("w"); //Hoy lunes dará 1 (0 para domingo, 6 para sábado) 
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 02/02/2007, 16:34
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: settype. Cambiar de String a Integer no funciona.

ahhhhh ya :p.. jeje tienes razon.

Gracias de nuevo nicolaspar

Saludos!
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
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:18.