Задача по многоменрному ассоциативному массиву

Jake Badland

Новичок
Доброго времени суток. Собственно есть массив. Допустим:
PHP:
$sample = array(
    1 => '1',
    2 => array(
        'test'  => '<br>test',
        '2'     => 2,
        3       => array(
            'val1'  => '<h1>val1</h1>',
            'val2'  => 2
        )
    )
);
Задача пробежаться по нему и вырезать все теги из значений, оставив ключи и с сохранением оригинальной структуры.
Накалякал вот такое:
PHP:
function parse_arr(&$original){
    foreach ($original as $key => $value){
        if (is_array($value) && count($value) > 1){
            parse_arr($value);
        }else{
            $original[$key] = strip_tags($value);
        }
    }
}

parse_arr($sample);
echo '<pre>';
var_dump($sample);
echo  '</pre>';
Никак не могу понять как достучаться до элемента массива дабы почистить каждое значение.
Думал уже сохранять цепочку ключей по которым потом достучаться, но во первых возникла проблема определения верхнего уровня для сброса цепочки, во вторых мне кажется должен быть вариант попроще)))
Подскажите пожалуйста.
 
Последнее редактирование:
PHP:
function parse_arr($original){
   foreach ($original as $key => $value){
        if (is_array($value) && count($value) > 1){
            $original[$key] = parse_arr($value);
        }else{
            $original[$key] = strip_tags($value);
        }
    }
    return $original;
}

echo '<pre>';
var_dump(parse_arr($sample));
echo  '</pre>';
 
PHP:
function parse_arr($original){
   foreach ($original as $key => $value){
        if (is_array($value) && count($value) > 1){
            $original[$key] = parse_arr($value);
        }else{
            $original[$key] = strip_tags($value);
        }
    }
    return $original;
}

echo '<pre>';
var_dump(parse_arr($sample));
echo  '</pre>';

Понял, перемудрил я видимо с передачей по ссылке. Спасибо)
 
Если ты хотел донести какую-то мысль, то тебе придётся её перефразировать.
 
Если ты хотел донести какую-то мысль, то тебе придётся её перефразировать.
Проекту уже овер 10ть лет. Не раз уже переходили на более свежую версию PHP в связи с чем из - за депрекейта или изменения некоторых функций ложилось все. Я стараюсь избегать "свежих" функций. Может быть и зря.
 
Ха, пожалуй прийдется пересмотреть свое отношение к "свежим" функциям ))))
 
Сверху