Удаление пустых строк массива php

How to Remove Empty Array Elements in PHP

Frequently, some elements in an array can be empty, and it is necessary to remove them. In this short tutorial, we will provide you with the right function to do that.

The most common and correct way is to use the array_filter function. It will remove any element that is evaluated as FALSE (null, false, », 0). By adding a callback function, you can customize the filter.

Here is how the array_filter works:

 $array = [0, 'amir', 'test', 490, null, '', 'Hello world']; $array = array_filter($array); var_dump($array); ?>
array(4) < [1] =>string(4) "amir" [2] => string(4) "test" [3] => int(490) [6] => string(11) "Hello world" >

In the example above, the value of $array is what is demonstrated below it in the brackets.

That operates properly but may leave index gaps inside an array. Luckily, you can fix it with the help of array_values for re-indexing the array like this:

 $array = [0, 'amir', 'test', 490, null, '', 'Hello world']; $array = array_values(array_filter($array)); var_dump($array); ?>
array(4) < [0] =>string(4) "amir" [1] => string(4) "test" [2] => int(490) [3] => string(11) "Hello world" >

In this example, as well, the value of $array is what is demonstrated below it in the brackets.

Describing the array_filter Function

This function is capable of iterating over every value in the array and pass them to the callback function.

Once the callback function returns True, the current value from the array gets back into the result array.

The array_filter function has the following parameters: array, callback, and flag.

The first one is the array to iterate over. Callback is the callback function to apply. And, the flag specifies what arguments are forwarded to the callback.

Источник

Удалить пустые элементы из массива (PHP)

Удалить пустые элементы из массива проще всего при помощи функции array array_diff(array $array1, array $array2[, array $. ]) . В качестве первого параметра передается исходный массив, в качестве второго — массив с одним пустым значением.

Пример

Возьмем в качестве примера массив с несколькими пустыми элементами и удалим их.

Результат примера

Array ( [0] => [1] => e [2] => [3] => x [4] => [5] => p [6] => [7] => a [8] => [9] => n [10] => [11] => g [12] => [13] => e [14] => ) Array ( [1] => e [3] => x [5] => p [7] => a [9] => n [11] => g [13] => e )

Пример 2

В качестве другого примера возьмем массив, где в качестве пустых значений будут нули и null-значения, которые нужно удалить.

Результат примера 2

Array ( [0] => 0 [1] => e [2] => [3] => x [4] => 0 [5] => p [6] => [7] => a [8] => 0 [9] => n [10] => 0 [11] => g [12] => [13] => e [14] => 0 ) Array ( [1] => e [3] => x [5] => p [7] => a [9] => n [11] => g [13] => e )

Функция array_delete()

Можно написать функцию array array_delete(array $array, array $symbols = array(»)) , которая будет принимать два параметра: исходный массив и необязательный параметр-массив с элементами, которые надо удалить.

Пример array_delete()

Результат array_delete()

Array ( [1] => e [3] => x [5] => p [7] => a [9] => n [11] => g [13] => e ) Array ( [1] => e [3] => x [5] => p [7] => a [9] => n [11] => g [13] => e )

Категории

Читайте также

  • Умножить массив на число (PHP)
  • Элементы массива в случайном порядке (PHP)
  • Как удалить элемент ассоциативного массива (JavaScript)
  • Найти и удалить элемент массива (PHP)
  • Массив уникальных значений (JavaScript)
  • Получить последнее значение массива (PHP)
  • Получить первое значение массива (PHP)
  • Ассоциативный массив в JavaScript
  • Преобразовать массив в объект (PHP)
  • Как записать массив в файл (PHP)
  • Получить массив ключей (PHP)
  • Поменять местами 2 элемента массива (PHP)

Комментарии

Почистить многомерный массив:
function remove_empty_values($array) foreach ($array as $key => $value) if (is_array($value)) $array[$key] = remove_empty_values($value);
if (empty($array[$key])) unset($array[$key]);
>
> else if ($value === «» || $value === null) unset($array[$key]);
>
>
>
return $array;
>

Благодарен за статью, очень помогла с ВП (вывод не пустого массива заполненных произвольных полей).

Вход на сайт

Введите данные указанные при регистрации:

Социальные сети

Вы можете быстро войти через социальные сети:

Источник

Удалить пустые элементы из массива в PHP

В этой статье показано, как удалить пустые элементы из массива в PHP.

1. Использование array_filter() функция

The array_filter() функция удаляет все ложные значения из массива, если функция обратного вызова не указана. Ложное значение в PHP является логическим false , целое число 0 , плавать 0.0 а также -0.0 , нить «0» а также «» , тип агрегата NULL и пустой массив. Следует отметить, что переменная ресурса и NAN не считаются ложными в PHP.

Если предусмотрена функция обратного вызова, будут удалены только те элементы массива, которые не удовлетворяют указанному предикату. Например, следующий код удаляет только пустые строки ( «» ) и NULL значения из массива.

Выражение array_filter($arr) эквивалентно array_filter($arr, function($val)) . Вы можете добавлять или удалять элементы из предиката по мере необходимости. Например, следующее включает 0 от ложных значений.

Вы можете использовать array_filter() Функция для удаления только определенного элемента из массива. Например, следующее удаляет только пустые строки ( «» ) из массива.

Вы также можете использовать array_filter() используя встроенные функции PHP в качестве обратного вызова. Например, в следующем решении используется strlen() функционирует как обратный вызов и удаляет пустые строки ( «» ), false , а также NULL из массива, но игнорирует true , 0 , 0.0 , а также «0» . Это потому, что strlen() функция возвращает нулевое значение для «» , false , а также NULL , но ненулевое значение для true , 0 , 0.0 , а также «0» .

Источник

Удаление пустых строк массива php

Сколько функций умеют удалять пустые ячейки массива? Вот эти функции вспомнил, которыми сам пользуюсь для удаления пустых ячеек массива!

Функция для удаления пустых ячеек массива в php — array_diff :

Функция для удаления пустых ячеек массива в php — array_delete, с использованием предыдущей функции, но с восстановлением нумерации ключей :

Функция для удаления пустых ячеек массива в php — array_filter :

Пример удаления пустых ячеек массива

Для иллюстрации удаления пустой/пустых ячеек массива в php нам потребуется тестовый массив :

Давайте его выведем прямо здесь с помощью print_r

Как видим, довольно много пустых элементов, ячеек в нашем массиве! Теперь давайте удалим эти пустые ячейки с помощью array_diff

Примерным эту функцию к нашему массиву:

И выведем наш новый массив уже без пустых ячеек массива!:

Пример удаления пустых ячеек массива array_delete

Функция array_diff конечно хороша, но я категорически не могу её заполнить! Вот было бы интересно, что если бы существовала понятная интуитивная функция, например array_delete, ну или как-то назовите по другому!

Такой функции конечно нет, но кто её нам мешает написать!?

Удалить пустые ячейки с помощью функции array_delete

В общем-то простая функция, здесь и рассказывать особо-то и нечего!

function array_delete(array $array, array $symbols = array(»))

return array_diff($array, $symbols);

Давайте примени эту функцию к нашему существующему массиву с пустыми ячейками:

Источник

Читайте также:  Css background image attr data
Оцените статью