Foros del Web » Programando para Internet » PHP »

Warning, string y double. Definición explicita de tipos de variable.

Estas en el tema de Warning, string y double. Definición explicita de tipos de variable. en el foro de PHP en Foros del Web. Alguien puede explicarme porqué en mi servidor antes las variables $latitud y $longitud no me daban error en una aplicación de cálculo de distancias y ...
  #1 (permalink)  
Antiguo 28/04/2017, 04:22
 
Fecha de Ingreso: mayo-2014
Mensajes: 45
Antigüedad: 10 años, 7 meses
Puntos: 0
Warning, string y double. Definición explicita de tipos de variable.

Alguien puede explicarme porqué en mi servidor antes las variables $latitud y $longitud no me daban error en una aplicación de cálculo de distancias y de repente me da el siguiente error:
PHP Warning: deg2rad() expects parameter 1 to be double, string given in…
Que corresponde a:
$rLat = deg2rad($latitud);
$rLng = deg2rad($longitud);
Y como indica el warning al cambiarlas a:
$latitud=(double) $latitud2;
$longitud=(double) $longitud2;
Vuelve a funcionar correctamente.
¿Es posible que tenga que ver que mi servidor haya cambiado de versión PHP o algo así?
Gracias por anticipado por la respuesta.
  #2 (permalink)  
Antiguo 28/04/2017, 10:36
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Warning, string y double. Definición explicita de tipos de variable.

Por como lo explicas claro que sí, el nuevo servidor es más extricto con los errores, además el Warning es muy claro:

deg2rad() espera que el parámetro 1 sea del tipo double, y le diste una cadena

Entonces vuelve a funcionar, ya que fuerzas al parámetro a ser un double:
(double)param

Entonces, como dije antes, sí, el servidor nuevo es más extrico.

PD: con servidor nuevo me refiero al cambio de versión

Saludos

  #3 (permalink)  
Antiguo 28/04/2017, 18:32
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 5 meses
Puntos: 30
Respuesta: Warning, string y double. Definición explicita de tipos de variable.

Totalme te posible, y si en el futuro solo usase php7, entonces volveras a tener el mismo problema o mayor.
  #4 (permalink)  
Antiguo 29/04/2017, 03:16
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años, 1 mes
Puntos: 154
Respuesta: Warning, string y double. Definición explicita de tipos de variable.

Hola jlopezisern,

Yo empezaría por preguntar ¿de dónde obtienes los datos de las variables $latitud y $longitud?

Por los comentarios deduzco que es de una base de datos y que ahí los almacenas en un campo de tipo string, entonces el fallo ya viene de ahí, si los guardas en un campo de tipo numérico (el que corresponda), no debería darte problemas.

En el caso de que los obtengas de un formulario, solo debes asegurarte de que en ninguno de los pasos del proceso se convierten a string.

Teniendo en cuenta esto, no deberías tener que forzar el tipo de dato.

Claro que todo esto está basado en suposiciones, si me equivoco, olvida todo lo que te he escrito.

Etiquetas: definición, double, string, variable, warning
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 19:33.