Vaciar valores nulos de un array en PHP
Vaciar valores nulos de un array en PHP, Pongamonos en situacion. Tenemos un array el cual su indice es numerico, y algunos de sus valores con nulos, nos estorban y necesitamos sacarlos. Veamos un ejemplo del array:
$list = array([0]=>1;[1]=>null;[2]=>45);
Bien, en un principio imaginemos que este array contiene valores de alguna operacion, o resultado de BD, su consecuencia sera que nunca sabremos en que posicion/lugar estara el nulo que debemos sacar. Por lo que no nos queda otra que recorrer este array, y preguntar si el valor es vacio, sacalo. Vamos a ello:
foreach($list as $clave=>$valor){
if(empty($valor)) unset($list[$clave]);
}
con el metodo unset de PHP podemos eliminar del array ese indice junto a su valor. Pero aun queda un problema… no?… claro el array ahora tiene indices no correlativos. Puede darse el caso de que no nos influya pero si mas tarde por ejemplo vamos a pasar este array por un bucle for, nos va a mostrar un error, ya que $list[1]
no existe.
Como solucionamos esto?. Pues simplemente con el metodo array_merge de PHP. por que? por que este metodo tiene la facultad de regenerar las claves del array siempre que sean de tipo int, y ademas es incremental. Nos viene al «dedillo». Pues vamos a ello:
$listRegenerado = array_merge($list);
Simplemente con este ultima linea ya tendremos nuestro array sin valores nulos, con indices regenerados, incrementales, y listo para seguir tratandolo.
1 Comentarios
lenne
amigo de lo mejor,me has acomodado la vida je je,gracias de corazon