Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


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

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

Пример

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

1
2
3
4
5
6
7
8
9
10
<?php

// массив с пустыми строками
$arr = array('''e''''x''''p''''a''''n''''g''''e''');

print_r($arr);

$new_arr array_diff($arr, array(''));

print_r($new_arr);

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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-значения, которые нужно удалить.

1
2
3
4
5
6
7
8
9
10
<?php

// массив с буквами, нулями и null
$arr = array(0'e'false'x'0'p'null'a''0''n''0''g'false'e'0);

print_r($arr);

$new_arr array_diff($arr, array(0null));

print_r($new_arr);

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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('')), которая будет принимать два параметра: исходный массив и необязательный параметр-массив с элементами, которые надо удалить.

1
2
3
4
5
6
7
8
9
10
11
12
<?php

/**
 * Удалить пустые элементы из массива
 * @param array $array
 * @param array $symbols удаляемые значения
 * @return array
 */
function array_delete(array $array, array $symbols = array(''))
{
    return 
array_diff($array$symbols);
}

Пример array_delete()

1
2
3
4
5
6
7
8
9
10
11
<?php

// массив с пустыми строками
$arr = array('''e''''x''''p''''a''''n''''g''''e''');
$arr array_delete($arr);
print_r($arr);

// массив с буквами, нулями и null
$arr = array(0'e'false'x'0'p'null'a''''n''''g'false'e'0);
$arr array_delete($arr, array(''0null));
print_r($arr);

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
)
Опубликовано: 10 сентября 2013  ·  Автор: Артём Фёдоров  ·  23410 просмотров

Категория

ГлавнаяПрограммированиеPHPМассивыУдалить пустые элементы из массива (PHP)

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

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

© 2010-2017 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания