[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удалить элементы массива, у которых значение равно
seine
Привет, есть массив

array(
'a' => null,
'b' => 8,
'c' => 'value',
'd' => null
);

Можно какой-то функцией удалить все элементы, у которых значение равно null? В данном случае, чтоб получился массив:

array(
'b' => 8,
'c' => 'value'
);




Спустя 6 минут (7.10.2010 - 10:38) sergeiss написал(а):
array_walk() - не оно? В call_back функции делаешь проверку и, если надо, удаление элемента.

PS. Нет, не годится smile.gif В этой функции низзя удалять/добавлять элементы. Я забыл об этом.

PPS. array_filter - вот оно!!! На выходе можно получить отфильтрованный массив, согласно заданному тобой фильтру.

Спустя 5 минут, 51 секунда (7.10.2010 - 10:43) Гость_Michael написал(а):
array_filter

Спустя 2 часа, 32 минуты, 31 секунда (7.10.2010 - 13:16) seine написал(а):
Ага, оно) Спасибо.
А если б мне 0, false и пустую строку нужно было фильтровать, то можно было бы функцию даже без callback вызывать:

$array = array_filter($array);

Красота) Но у меня чуть длинее получилось:
$array = array_filter($array, function($var) {return ($var !== null);});

blink.gif

Спустя 3 минуты (7.10.2010 - 13:19) Гость_Michael написал(а):
php 5.3 ?

Спустя 31 минута, 47 секунд (7.10.2010 - 13:51) seine написал(а):
5.3.3. Какие-то различия в реализации?

p.s. а... наверно, функцию нельзя раньше было напрямую указывать

Спустя 10 минут, 59 секунд (7.10.2010 - 14:02) linker написал(а):
В до 5.3 можно было только использовать create_function()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.