Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Conversión de tipos PHP

Estas en el tema de Conversión de tipos PHP en el foro de PHP en Foros del Web. Hola a todos! Realizando un código php estoy enfrentandome al siguiente problema que no consigo solucionar. Al simular la devolución que me devolvería una pasarela ...
  #1 (permalink)  
Antiguo 14/12/2015, 03:33
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Pregunta Conversión de tipos PHP

Hola a todos!

Realizando un código php estoy enfrentandome al siguiente problema que no consigo solucionar.

Al simular la devolución que me devolvería una pasarela de pago (más concretamente los códigos de error) me está ocurriendo lo siguiente:

La devolución viene con un 0 justo delante del código, por ejemplo: 0180, 0101, 0912... ahora, si realizo una conversión a entero con el código:
Código PHP:
Ver original
  1. $miCodigo = 0180;
  2. $response = (int) $miCodigo;

Lo que me estaría devolviendo la $response es 1...

He probado con una conversión a string y obtengo el mismo resultado

¿Cómo puedo realizar la conversión y que no me modifique dicho valor? Me está volviendo loco ya.

Gracias de antemano!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 14/12/2015, 03:45
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Conversión de tipos PHP

Eso es pq $miCodigo lo está cogiendo como un octal...

Y en los octales, PHP ignora a partir del 8... asi pues sería 01, que es 1 xD

Ese es el problema que tienes! Probablemente, la pasarela te devuelva el error como string, no como número, y entonces sí podrás usar (int), o bien $miCodigo directamente...

Por ejemplo
Código PHP:

switch($miCodigo) {
    case 
'0180'
        ....
    break;

__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 14/12/2015, 03:57
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Conversión de tipos PHP

Cita:
Iniciado por Eleazan Ver Mensaje
Eso es pq $miCodigo lo está cogiendo como un octal...

Y en los octales, PHP ignora a partir del 8... asi pues sería 01, que es 1 xD

Ese es el problema que tienes! Probablemente, la pasarela te devuelva el error como string, no como número, y entonces sí podrás usar (int), o bien $miCodigo directamente...

Por ejemplo
Código PHP:

switch($miCodigo) {
    case 
'0180'
        ....
    break;

Gracias por responder tan pronto!

Probaré lo que me comentas porque ya no se qué más mirar

Al final comparándolo como un simple string ha funcionado :D
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"

Última edición por madman_18; 14/12/2015 a las 10:05

Etiquetas: Ninguno
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 15:27.