Avatar ·

¿Cómo eliminar elementos vacíos de un array en PHP?

¡Hola a todos! Soy un desarrollador PHP principiante y tengo un problema con arrays. Estoy procesando datos de un formulario donde los usuarios pueden dejar campos vacíos. Como resultado, obtengo un array que contiene cadenas vacías, valores null e incluso false. Necesito limpiar este array de todos los elementos "vacíos" para que solo queden datos reales.

Aquí hay un ejemplo de mi código:

<?php
$data = [
    'name' => 'Иван',
    'email' => '',
    'phone' => '123-456',
    'comment' => null,
    'age' => 0,
    'active' => false,
    'extra' => '   ',
    'tags' => []
];
?>

He intentado usar array_filter(), pero no elimina todo lo que necesito. Por ejemplo, 0 y false también se consideran vacíos, pero necesito conservarlos como valores significativos. Además, la cadena de espacios ' ' permanece, aunque es esencialmente un valor vacío.

¿Podrían indicarme cómo eliminar correctamente los elementos vacíos de un array en PHP?