[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Исправить ошибку в обходе рекурсивного массива
Николай
Добрый день!
Не могли бы Вы подсказать - в чём ошибка:
<?php

$b = [1, 2, [3, 4, [5, [6, 7, [8, 9, 10, 11],]]], 1];
function funfun($b, $score= 0)
{
$a = [];



if (is_array($b)) {


foreach ($b as $key => $item) {

$key = preg_replace($pattern, '', $key);

if (is_array($item)) {
$a = fff($item, $score+ 1);
} else {
$item = filter_var($item, FILTER_SANITIZE_FULL_SPECIAL_CHARS, 0);
}
$a[$key] = $item;
}
}

return $a;
}
echo "<pre>";
print_r(funfun($b));
echo "</pre>";

Должен же выводиться такой массив:
Array
(
[0] => 1
[1] => 2
[2] => Array
(
[0] => 3
[1] => 4
[2] => Array
(
[0] => 5
[1] => Array
(
[0] => 6
[1] => 7
[2] => Array
(
[0] => 8
[1] => 9
[2] => 10
[3] => 11
)

)

)

)

[3] => 1
),
а выводится такой
Array
(
[0] => 8
[1] => Array
(
[0] => 6
[1] => 7
[2] => Array
(
[0] => 8
[1] => 9
[2] => 10
[3] => 11
)

)

[2] => Array
(
[0] => 3
[1] => 4
[2] => Array
(
[0] => 5
[1] => Array
(
[0] => 6
[1] => 7
[2] => Array
(
[0] => 8
[1] => 9
[2] => 10
[3] => 11
)

)

)

)

[3] => 1
)

Что я делаю не так?
Быстрый ответ:

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