Вы можете просто использовать PHP-функцию array_filter() для удаления или фильтрации пустых значений из массива. Эта функция обычно фильтрует значения массива с помощью функции обратного вызова.
Однако, если функция обратного вызова не указана, все пустые записи массива будут удалены, такие как "" (пустая строка), 0 (0 как целое число), 0.0 (0 как число с плавающей запятой), "0" (0 как строка), NULL, FALSE и array() (пустой массив). Давайте попробуем на примере понять, как это работает:
<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
// Фильтрация массива
$result = array_filter($array);
var_dump($result);
?>
В приведенном выше примере значения 0 и "0" также удаляются из массива. Если вы хотите сохранить их, вы можете определить функцию обратного вызова, как показано в следующем примере:
<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
// Определяем callback-функцию
function myFilter($var){
return ($var !== NULL && $var !== FALSE && $var !== "");
}
// Фильтрация массива
$result = array_filter($array, "myFilter");
var_dump($result);
?>
Функция обратного вызова myFilter() вызывается для каждого элемента массива. Если myFilter() возвращает TRUE, то этот элемент будет добавлен в массив результатов, в противном случае — нет.
















