Foros del Web » Programando para Internet » PHP »

quitar valores en blanco o nulos de un array

Estas en el tema de quitar valores en blanco o nulos de un array en el foro de PHP en Foros del Web. Hola, si tengo un array por ejemplo $valores = array('one','two','three','','four','five',null); como hago para quitar esos valores en blanco o nulos del array, en mi array ...
  #1 (permalink)  
Antiguo 19/10/2009, 21:12
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
quitar valores en blanco o nulos de un array

Hola, si tengo un array por ejemplo
$valores = array('one','two','three','','four','five',null);
como hago para quitar esos valores en blanco o nulos del array, en mi array las posiciones de los valores en blanco y null son cambiantes
Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 19/10/2009, 21:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: quitar valores en blanco o nulos de un array

disculpame pero no entiendo bien que deseas?
  #3 (permalink)  
Antiguo 19/10/2009, 21:42
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: quitar valores en blanco o nulos de un array

Hola,
Prueba esto:
Código php:
Ver original
  1. function limiarArray($array){
  2. $newArray=array();
  3. foreach($array as $key=>$value){
  4. if(!empty($value))
  5. $newArray[]=$value;
  6. }
  7. return $newArray;
  8. }
  9. print_r(limpiarArray(array('one','two','three','','four','five',null)));
Tambien puedes recorrer el array con foreach y comprobar si esta vacio con emtpy, y si es haci lo borras con unset.
Suerte
Salu2

PD: No probe el code :p
__________________
Half Music - www.halfmusic.com
  #4 (permalink)  
Antiguo 19/10/2009, 21:49
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: quitar valores en blanco o nulos de un array

La misma logica pero SIN ERRORES



Código php:
Ver original
  1. $numeros = array("uno","dos","tres","cuatro","","");
  2.    
  3.    
  4.        
  5.        
  6.         function DelNull($matrix){
  7.        
  8.            
  9.             foreach($matrix as $rows){
  10.        
  11.                 if(!empty($rows)){
  12.            
  13.                     $val[] = $rows;
  14.                 }
  15.             }
  16.        
  17.         return $val;
  18.            
  19.            
  20.         }
  21.  
  22.  
  23. echo count(DelNull($numeros));
  #5 (permalink)  
Antiguo 20/10/2009, 08:50
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: quitar valores en blanco o nulos de un array

Buenos días!!! Foreros!!

Igual y puedes utilizar lo siguiente:

Utilizando un FOR y la funcion count():

$tuArray= array('val1','val2','val3','','val4',null);

for($i=0;$i<count($tuArray);$i++)
{
if( ($tuArray[$i]!='') || ($tuArray[$i]!=null) )
{
$nuevoArray[$i]=$tuArray[$i];
}
}

Espero te pueda servir de algo.

Saludos!!
  #6 (permalink)  
Antiguo 20/10/2009, 09:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: quitar valores en blanco o nulos de un array

Otra opción sería:
Código PHP:
Ver original
  1. function is_empty($value) {
  2.     return !empty($value);
  3. }
  4. $foo = array('one', 'two', 'three', '', 'four', 'five', null);
  5. $bar = array_filter($foo, 'is_empty');
  6. print_r($bar);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 20/10/2009, 11:51
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: quitar valores en blanco o nulos de un array

Wow, gracias a todos por la ayuda, estos ejemplos me han servido de mucho.

Thanks
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 06:40.