Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema para implementar empty

Estas en el tema de Problema para implementar empty en el foro de PHP en Foros del Web. hola amigos les explico mi situacion: tengo un formulario y necesito que si no se ingreso nada en el input deje el valor en null ...
  #1 (permalink)  
Antiguo 10/03/2014, 22:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Problema para implementar empty

hola amigos les explico mi situacion: tengo un formulario y necesito que si no se ingreso nada en el input deje el valor en null , pero que si deje pasar los 0 ceros

Código PHP:
Ver original
  1. if( empty( $value ) )
  2.         $value = NULL;
  3.  
  4.         $this->attributes['wgs84_lat_grad'] = $value;

pero con empty no deja pasar los ceros 0
  #2 (permalink)  
Antiguo 10/03/2014, 22:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Problema para implementar empty

Bueno, en el manual de empty() claramente dice que tipos de valores son entendidos como "vacíos", ¿o me equivoco?

Es normal que "0" sea igual a vacío, ¿pero qué pasaría si además comparas la longitud del valor?

Entonces "0" mide "1", y eso es un valor positivo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/03/2014, 22:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema para implementar empty

pateketrueke gracias por responder, lo solucione como me indicaste


Código PHP:
Ver original
  1. if( empty( $value ) && strlen($value) == 0 )
  2.         $value = NULL;
  3.  
  4.         $this->attributes['wgs84_lat_grad'] = $value;

Etiquetas: empty, formulario, implementar
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 01:54.