Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как удалить пустые значения из массива

Короткий ответ

array_filter() без второго аргумента убирает все «пустые» значения:

<?php
 
echo json_encode(array_values(array_filter(['a', '', null, 'b', false])));

Результат:

["a","b"]

Сохранить ноль

Ноль тоже считается пустым. Чтобы его оставить, задайте условие явно:

<?php
 
$values = [0, '', 5, null, '0'];
 
echo json_encode(array_values(array_filter($values, fn ($value) => $value !== '' && $value !== null)));

Результат:

[0,5,"0"]

Строки из пробелов

Сначала обрежьте пробелы:

<?php
 
$lines = ['tea', '  ', 'coffee', ''];
 
echo json_encode(array_values(array_filter(array_map('trim', $lines))));

Результат:

["tea","coffee"]

Функции из этого ответа

  • array_filter — Оставляет в массиве элементы, прошедшие проверку.
  • array_values — Возвращает значения массива с ключами по порядку от нуля.
  • trim — Удаляет пробелы и другие символы с начала и конца строки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.