Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Разумеется, работает. Однако она рассматривает только первый уровень, таким образом сравнивая массивы, которые будут находиться на втором уровне.
Можно без двойного цикла. Пример для произвольного уровня вложенности:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
kosik82
Тем, что не работает. Тот двойной цикл, который я привёл в первом комментарии, сохраняет структуру исходного массива, тогда как Ваш цикл - нет. Если нет цели сохранять структуру исходного массива, и требуется получить лишь одномерный список уникальных значений - то об этом нужно было сообщить заранее, и тогда дело решается одной функцией array_walk_recursive
Если же говорить о примере с рекурсивной функией, то, очевидно, его главное отличие в том, что функция в нём сработает для вложенности любого уровня.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
kosik82
Отправлено: 25 Июля, 2013 - 22:45:17
Гость
Покинул форум
Сообщений всего: 125
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
EuGen пишет:
то об этом нужно было сообщить заранее,
я в первом сообщении написал, что требуется: "нужно убрать повторяющиеся значения и вывести в строку."
EuGen
Отправлено: 25 Июля, 2013 - 23:10:34
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
kosik82 пишет:
нужно убрать повторяющиеся значения
EuGen пишет:
array_unique_recursive
kosik82 пишет:
вывести в строку
EuGen пишет:
var_dump
Хотя, наверное, можно было интерпретировать как обычную строку без сохранения структуры. Для этого, повторюсь, подойдёт array_walk_recursive:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.