подскажите решение по преобразованию масива

Статус
В этой теме нельзя размещать новые ответы.

texrdcom

Новичок
подскажите решение по преобразованию масива

есть исходный масив:
PHP:
$array[0]['path'] = '01';
$array[0]['name'] = '1';

$array[1]['path'] = '01/01';
$array[1]['name'] = '1.1';

$array[2]['path'] = '02';
$array[2]['name'] = '2';
Вот в такой масив нужно преобразовать:
PHP:
$resultOk = array( 
array('path' => '01', 'name' => '1', 'sub'=>array(
            array('path' => '01/01', 'name' => '1.1')
            )       
       ),
array('path' => '02', 'name' => '2')
);
Ключ path задает путь к вершине масива - "дерева",
кроме eval не чего в голову не приходит...
 

Bitterman

Новичок
eval-то тут при чем? Перебрать массив и составить новый. Вообще, какая-то странная конструкция.
 

texrdcom

Новичок
Bitterman
eval как раз для преобразования масива.
Почему странная конструкция ? просто такое задание.
 

Vallar_ultra

Любитель выпить :)
texrdcom
Про eval - это к доктору, а вобщем случае: тот же самый рекурсивный обход по массиву, где ты будешь искать ветки с родителем $x. В какую результирующую стр-ру это преобразовывать будешь - это твое сугубо личное дело......
 

texrdcom

Новичок
Bitterman
блин ты чего к евалу прицепился ! я написал что только он приходит в голову :)
$str = 'array(array('path'=>'01')) .... '
 

Vallar_ultra

Любитель выпить :)
texrdcom
>блин ты чего к евалу прицепился ! я написал что только он приходит в голову

Нет, ну честное слово, это может авитаминоз?!
По теме: знакомы ли вы батенька с рекурсией?
 

Bitterman

Новичок
Ахренеть... А почему такое простое присваивание
$str = 'array(array('path'=>'01')) .... '
? Я думаю, что надо написать прогу на С, которая бы возвращала данную строку и заюзать ее через exec.
А если серьезно, то foreach тебя спасет. Может быть... Если ты не начнешь юзать его через eval.
 

texrdcom

Новичок
Vallar_ultra
Bitterman
хорош спамить а,
ведь вопрос поставил нормально есть исходный есть масив
который нужен...
 

Vallar_ultra

Любитель выпить :)
Bitterman
> А если серьезно, то foreach тебя спасет

Блин, да что с вами?!!! Вот не нравиться по идеологическим соображениям мне foreach - то while, do-while или for в данном случае пользоваться категорически запрещено??

texrdcom
Кстати, а ты не задумывался о том что у деревьев бывает N уровней, а не конечное число типа 1,2 или 3?

-~{}~ 10.04.07 12:20:

texrdcom
А тебе надо чтобы код написали, я правильно понимаю?
 

texrdcom

Новичок
Vallar_ultra
Блин, да что с вами?!!! Вот не нравиться по идеологическим соображениям мне foreach - то while, do-while или for в данном случае пользоваться категорически запрещено??
можно.

А тебе надо чтобы код написали, я правильно понимаю?
нет нужна помощь
 

Bitterman

Новичок
Vallar_ultra
Вот не нравиться по идеологическим соображениям мне foreach - то while, do-while или for в данном случае пользоваться категорически запрещено??
Не понял смысла претензии. Если тебе не нравится, то никто теперь пользоваться не должен?
texrdcom
Нет нужна помощь
В чем она должна состоять?
 

texrdcom

Новичок
Vallar_ultra
Скажи как ты думаеш зачем люди пишут на форумы ?
я думаю что ты предполаеш что форму нужен для того, чтоб отвечать на вопросы следующим типом:
А тебе надо чтобы код написали, я правильно понимаю?
Да :)
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху