[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сортировка массива
antonov_sa
Здрасте, форумчане!

Вопрос в следующем, есть массив вида
Array
(
[0] => Array
(
[name_r] => Категория 1
[id] => 1
[parent] => 0

)

[1] => Array
(
[name_r] => Категория2
[id] => 2
[parent] => 0
)

[2] => Array
(
[name_r] => Категория3
[id] => 3
[parent] => 0
)

[3] => Array
(
[name_r] => Подкатегория1
[id] => 4
[parent] => 1
)

[4] => Array
(
[name_r] => Подкатегория2
[id] => 5
[parent] => 3
)

[5] => Array
(
[name_r] => Подкатегория3
[id] => 6
[parent] => 1
)
подскажите, пожалуйста самый простой способ получить дерево вида

-Категория 1
--Подкатегория1
--Подкатегория3
-Категория 2
-Категория 3
--Подкатегория2
с учетом того, что уровней вложенности всего 2, но категорий очень много



Спустя 9 часов, 31 минута, 43 секунды (5.11.2010 - 20:52) kirik написал(а):
Тут уже разбирались.

Спустя 13 минут, 17 секунд (5.11.2010 - 21:06) Sanchopansa написал(а):
Вот мой скрипт тебе:


<?php
$arr = array(
array(
'name_r' => 'Категория 1',
'id' => 1,
'parent' => 0
),
array(
'name_r' => 'Категория 2',
'id' => 2,
'parent' => 0
),
array(
'name_r' => 'Категория 3',
'id' => 3,
'parent' => 0
),
array(
'name_r' => 'Подкатегория 1',
'id' => 4,
'parent' => 1
),
array(
'name_r' => 'Подкатегория 2',
'id' => 5,
'parent' => 1
),
array(
'name_r' => 'Подкатегория 3',
'id' => 6,
'parent' => 3
),
array(
'name_r' => 'Подподкатегория 4',
'id' => 7,
'parent' => 6
),
array(
'name_r' => 'Подподкатегория 5',
'id' => 8,
'parent' => 4
)
);

function getTree($arr, $parent = 0, $rotation = 0)
{
$space = '';
$tmp_rot = $rotation;
while ($tmp_rot)
{
$space .= '-';
$tmp_rot--;
}
foreach ($arr as $cat){
if ($cat['parent'] == $parent)
{
echo $space.$cat['name_r'] . "\n\r";
getTree(&$arr, $cat['id'], $rotation+1);
}
}
}


getTree($arr);

?>

Спустя 1 день, 12 часов, 23 минуты, 30 секунд (7.11.2010 - 09:29) antonov_sa написал(а):
о годно, держи плюсик
Быстрый ответ:

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