$miArray = array("","Hola","","Mundo",1,2,"",3);
El array anterior tiene 3 posiciones vacías. Usaremos 2 funciones: array_values() y array_diff() quedando de la siguiente manera.
$miArraySinVacios = array_values(array_diff($miArray, array('')));
Lo que estamos haciendo es obtener los valores del array original y comparándolos.
array(5) { | |
[0]=> | |
string(4) "Hola" | |
[1]=> | |
string(5) "Mundo" | |
[2]=> | |
int(1) | |
[3]=> | |
int(2) | |
[4]=> | |
int(3) | |
} |
4 comentarios:
Muchísimas gracias!!! No sabes la de vueltas que le había dado al array y no había manera de conseguir esto.
Gracias!!
Más simple es utilizar la función array_filter.
excelente, no es mas simple usar array_filter, es como lo necesites, xq array_filter te elimina todos los valores nulos y entre esos entra el valor 0, y por lo menos para la aplicacion que estoy desarrollando yo necesitaba guardar incluso los 0, asi que la solucion de esta entrada se adapto a mi problema
Hola, va genial, sólo puntualizar que va a fallar si alguno de los arrays es multidimensional, por lo que habría que añadir una comprobación previa si por ejemplo usamos esta solución en una función.
Saludos.
Publicar un comentario