Foros del Web » Programando para Internet » PHP »

Validar array

Estas en el tema de Validar array en el foro de PHP en Foros del Web. Recibo por el metodo POST un array y quiero utilizar empty para validar si esta vacìo o no. ¿Cómo puedo validar data sin caer en ...
  #1 (permalink)  
Antiguo 23/11/2011, 07:28
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 1
Validar array

Recibo por el metodo POST un array y quiero utilizar empty para validar si esta vacìo o no.

¿Cómo puedo validar data sin caer en esto:?

Código PHP:
Ver original
  1. if (!empty($_POST['sos']['data']['problem']) && !empty($_POST['sos']['data']['problem']) && !empty(aca el resto)) { }

¿Debo hacer una funion recursiva?

Código PHP:
Ver original
  1. (
  2.     [data] => Array
  3.         (
  4.             [problem] =>
  5.             [description] =>
  6.             [date] =>
  7.             [time] => Array
  8.                 (
  9.                     [hour] => -1
  10.                     [min] => -1
  11.                     [meridian] => am
  12.                 )
  13.  
  14.             [place] =>
  15.             [name] =>
  16.             [mail] =>
  17.             [send] => Enviar
  18.         )
  19.  
  20. )
  #2 (permalink)  
Antiguo 23/11/2011, 08:15
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Validar array

En realidad para validar si un array esta vacío es sencillo:

Código PHP:
Ver original
  1. <?php
  2. $miArray = array();
  3. if(!empty($miArray)){
  4. // si no esta vacío
  5. }else{
  6. // si esta vacío
  7. }

Pero si lo que necesitas es validar que un vector no esta vacío es diferente
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 23/11/2011, 08:34
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 1
Respuesta: Validar array

Cita:
Iniciado por jotaincubus Ver Mensaje
En realidad para validar si un array esta vacío es sencillo:

Código PHP:
Ver original
  1. <?php
  2. $miArray = array();
  3. if(!empty($miArray)){
  4. // si no esta vacío
  5. }else{
  6. // si esta vacío
  7. }

Pero si lo que necesitas es validar que un vector no esta vacío es diferente
Esto no me funciona. Necesito comprobar cada una de los key

Código PHP:
Ver original
  1. (
  2.     [data] => Array
  3.         (
  4.             [problem] =>                  // ESTO ESTA VINIENDO VACIO


Lo resolví de esta manera:

Código PHP:
Ver original
  1. function array_empty($mixed) {
  2.     if (is_array($mixed)) {
  3.         foreach ($mixed as $value) {
  4.             if (!array_empty($value)) {
  5.                 return false;
  6.             }
  7.         }
  8.     }
  9.     elseif (!empty($mixed)) {
  10.         return false;
  11.     }
  12.     return true;
  13. }

Última edición por opzina2; 23/11/2011 a las 08:44
  #4 (permalink)  
Antiguo 23/11/2011, 08:45
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Validar array

Aaaaaaaaaaaaaaaaaaaaaa ahora si entendi, pues facil haz un foreach para $_POST[] y ya
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 23/11/2011, 08:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Validar array

definitivamente si no sabes exactamente cuantas dimensiones puede llegar a tener una función recursiva es lo más viable, de hecho hasta php dispone de funciones que te pueden ayudar:

http://www.php.net/manual/es/functio...-recursive.php
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 23/11/2011, 08:55
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 1
Respuesta: Validar array

Gracias a todos.

Que prácticos que son los arrays :)
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 00:13.