Cramac
Новичок
Вопрос по дереву.
Всем привет. Есть вот такое построение дерева:
store($arr,$p="0",$tab="");
function store($arr,$p,$tab)
{
foreach($arr as $id=>$item)
{
if($item['parent']==$p)
{
echo $tab."* $id ".$item['name']."<br>";
store($arr,$id,$tab."*");
}
}
}
Массив с данными выглядит так:
$arr=array(
"1"=>array("name"=>"ïåðâûé","parent"=>0),
"2"=>array("name"=>"âòîðîé","parent"=>1),
"3"=>array("name"=>"òðåò","parent"=>0),
"4"=>array("name"=>"÷åòâ","parent"=>0),
"5"=>array("name"=>"ïÿò","parent"=>0),
"6"=>array("name"=>"øåñò","parent"=>0),
"7"=>array("name"=>"ñåäüìîé","parent"=>3),
"8"=>array("name"=>"øå1ñò","parent"=>0),
"9"=>array("name"=>"ø3åñò","parent"=>7),
"10"=>array("name"=>"øå4ñò","parent"=>0),
"11"=>array("name"=>"øå6ñò","parent"=>9),
);
Вопрос. Как можно в отдельный временный массив записать все ИД от начала до конца ветки?
Пример, вот такая ветка получается:
* 1 name
** 2 name2
*** 12 name12
** 3 name3
Надо получить все ИД, т.е. 1, 2, 12, 3 чтобы с этими ИД можно было поработать.
Всем привет. Есть вот такое построение дерева:
store($arr,$p="0",$tab="");
function store($arr,$p,$tab)
{
foreach($arr as $id=>$item)
{
if($item['parent']==$p)
{
echo $tab."* $id ".$item['name']."<br>";
store($arr,$id,$tab."*");
}
}
}
Массив с данными выглядит так:
$arr=array(
"1"=>array("name"=>"ïåðâûé","parent"=>0),
"2"=>array("name"=>"âòîðîé","parent"=>1),
"3"=>array("name"=>"òðåò","parent"=>0),
"4"=>array("name"=>"÷åòâ","parent"=>0),
"5"=>array("name"=>"ïÿò","parent"=>0),
"6"=>array("name"=>"øåñò","parent"=>0),
"7"=>array("name"=>"ñåäüìîé","parent"=>3),
"8"=>array("name"=>"øå1ñò","parent"=>0),
"9"=>array("name"=>"ø3åñò","parent"=>7),
"10"=>array("name"=>"øå4ñò","parent"=>0),
"11"=>array("name"=>"øå6ñò","parent"=>9),
);
Вопрос. Как можно в отдельный временный массив записать все ИД от начала до конца ветки?
Пример, вот такая ветка получается:
* 1 name
** 2 name2
*** 12 name12
** 3 name3
Надо получить все ИД, т.е. 1, 2, 12, 3 чтобы с этими ИД можно было поработать.