[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск в многомерном массиве
Фибер Оптик
Здравствуйте, уважаемые знатоки :)

У меня есть массив такого вида:


Array
(
[
14] => Array
(
[
page_id] => 14
[type] =>
[
menu_id] => 2
[page_name] => Каталог товаров
[parent_id] => 0
[alias] => catalog
[pic] =>
[
meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 1
[text] =>
[
visible] => 1
[childs] => Array
(
[
6] => Array
(
[
page_id] => 6
[type] =>
[
menu_id] => 2
[page_name] => Категория 1
[parent_id] => 14
[alias] => cat1
[pic] => 1.jpg
[meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 1
[text] =>
[
visible] => 1
[childs] => Array
(
[
19] => Array
(
[
page_id] => 19
[type] =>
[
menu_id] => 2
[page_name] => Категория 1.1
[parent_id] => 6
[alias] => cat1-1
[pic] =>
[
meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 1
[text] =>
[
visible] => 1
)

[
20] => Array
(
[
page_id] => 20
[type] =>
[
menu_id] => 2
[page_name] => Категория 1.2
[parent_id] => 6
[alias] => cat1-2
[pic] =>
[
meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 2
[text] =>
[
visible] => 1
)
)

)

[
7] => Array
(
[
page_id] => 7
[type] =>
[
menu_id] => 2
[page_name] => Категория 2
[parent_id] => 14
[alias] => cat2
[pic] => 3.jpg
[meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 2
[text] =>
[
visible] => 1
[childs] => Array
(
[
25] => Array
(
[
page_id] => 25
[type] =>
[
menu_id] => 2
[page_name] => Категория 2.1
[parent_id] => 7
[alias] => cat2-1
[pic] =>
[
meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 1
[text] =>
[
visible] => 1
)

)

)

)

)

[
18] => Array
(
[
page_id] => 18
[type] =>
[
menu_id] => 2
[page_name] => Контакты
[parent_id] => 0
[alias] => contacts
[pic] =>
[
meta_title] =>
[
keywords] =>
[
description] =>
[
h1] =>
[
position] => 5
[text] =>
[
visible] => 1
)

)



Так вот бьюсь уже долго с такой задачей:
у меня GETом поступает значение алиаса, например cat1. Мне надо пробежаться по массиву, найти это значение и у ключа, который содержит это значение, вывести [page_name].

Перечитал много всего, но так и не удалось реализовать.
Попробовал сделать сам через рекурсию:

function findToMass($arr, $search) {
$result = array();

foreach($arr as $k => $v) {
if ($v == $search) $result[] = $v;
if (is_array($arr[$k])) findToMass($v, $search);
}
return $result;
}

Таким способом получилось вывести только сам найденный параметр.

Подскажите, пожалуйста, какой-то способ.

Спасибо.
Быстрый ответ:

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