есть массив
$a = array(
'a'=>1
,'b'=>2
,'c'=>array('e'=>NULL, 'f'=>2)
,'d'=>4
)
и хотелось бы после обработки получить без null
$a = array(
'a'=>1
,'c'=>array('f'=>2)
,'d'=>4
)
подается только переменная массив, его мы не формируем, он нам подается сформированный
если же быть более честным, то нужно просто удалить от какого то конкретного звина.
предложения?
1. DlTA - 08 Февраля, 2013 - 15:00:19 - перейти к сообщению
2. EuGen - 08 Февраля, 2013 - 15:18:56 - перейти к сообщению
Например,
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $fnWalk = function(&$rgInput) use (&$fnWalk)
- {
- foreach($rgInput as $mKey => $mValue)
- {
- {
- $rgInput[$mKey] = $fnWalk($mValue);
- }
- {
- }
- }
- return $rgInput;
- };
- 'a'=>1
- ,'b'=>2
- ,'c'=>array('e'=>NULL, 'f'=>2)
- ,'d'=>4
- ,'g'=>null
- );
- $rgData = $fnWalk($rgData);
- //var_dump($rgData);
- от обычной рекурсии отошел в силу неясности фразы о "звине". Подозреваю, что пригодится некий callback (добавить который в пример выше очень просто).