yintar
Новичок
Всем привет!!!!
Есть массив неограниченной вложенноси такого вида :
Array
(
)
А мне этот массив надо преобразовать в такой :
Array (
)
Пробовал с помощью рекурсии,но желаемого результата не достиг
Подскажите,пожалуйста алгоритм такого преобразования.
Вот мой код ,но массив нужного вида не получается.Я пробовал по-разному.Мучаюсь с этой проблемой уже неделю но именно такой массив как мне надо не получается.Подскажите пожалуйста где я ошибаюсь
Есть массив неограниченной вложенноси такого вида :
Array
(
[0] => Array
(
[text] => Краснова Светлана
[parent_id] => 270
[count] => 2
[line] => 1
[expanded] =>
[children] => Array
[text] => Краснова Светлана
[parent_id] => 270
[count] => 2
[line] => 1
[expanded] =>
[children] => Array
(
[0] => Array
(
[text] => Колесник Александр Анатольевич
[parent_id] => 297
[count] => 0
[line] => 2
[expanded] =>
[children] =>
)
[text] => Колесник Александр Анатольевич
[parent_id] => 297
[count] => 0
[line] => 2
[expanded] =>
[children] =>
)
[1] => Array
(
[text] => Савлов Константин
[parent_id] => 297
[count] => 2
[line] => 2
[expanded] =>
[children] => Array
[text] => Савлов Константин
[parent_id] => 297
[count] => 2
[line] => 2
[expanded] =>
[children] => Array
(
[0] => Array
(
[text] => Смолина Светлана Александровна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
[text] => Смолина Светлана Александровна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
[1] => Array
(
[text] => Власова Надежда Ивановна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
[text] => Власова Надежда Ивановна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
)
)
)
)
[1] => Array
(
[text] => Варич Юрий
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
(
[text] => Варич Юрий
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
[2] => Array
(
[text] => Данилова Наталья
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
(
[text] => Данилова Наталья
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
)
А мне этот массив надо преобразовать в такой :
Array (
[0] => Array
(
[text] => Краснова Светлана
[parent_id] => 270
[count] => 2
[line] => 1
[expanded] =>
[children] => Array
(
[1] => Array[text] => Краснова Светлана
[parent_id] => 270
[count] => 2
[line] => 1
[expanded] =>
[children] => Array
(
(
[text] => Колесник Александр Анатольевич
[parent_id] => 297
[count] => 0
[line] => 2
[expanded] =>
[children] =>
)
[text] => Колесник Александр Анатольевич
[parent_id] => 297
[count] => 0
[line] => 2
[expanded] =>
[children] =>
)
[2] => Array
(
[text] => Савлов Константин
[parent_id] => 297
[count] => 2
[line] => 2
[expanded] =>
[children] => Array
(
[3] => Array[text] => Савлов Константин
[parent_id] => 297
[count] => 2
[line] => 2
[expanded] =>
[children] => Array
(
(
[text] => Смолина Светлана Александровна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
[text] => Смолина Светлана Александровна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
[1] => Array
(
[text] => Власова Надежда Ивановна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
(
[text] => Власова Надежда Ивановна
[parent_id] => 337
[count] => 0
[line] => 3
[expanded] =>
[children] =>
)
[4] => Array
(
[text] => Варич Юрий
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
(
[text] => Варич Юрий
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
[5] => Array
(
[text] => Данилова Наталья
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
(
[text] => Данилова Наталья
[parent_id] => 270
[count] => 0
[line] => 1
[expanded] =>
[children] =>
)
)
Пробовал с помощью рекурсии,но желаемого результата не достиг
Подскажите,пожалуйста алгоритм такого преобразования.
Вот мой код ,но массив нужного вида не получается.Я пробовал по-разному.Мучаюсь с этой проблемой уже неделю но именно такой массив как мне надо не получается.Подскажите пожалуйста где я ошибаюсь
Код:
public function getLineAndCountUsers($my_data) {
$data = array();
$i=0;
if ($my_data[$i]['children'] != '') {
foreach ($my_data[$i]['children'] as $value){
if($value['children'] == ''){
$my_data[]=$value;
} else {
$my_data[] = $this->getLineAndCountUsers( $value['children']);
}
}
} else {
$offset=$i;
$my_data[] = $my_data[$i]['children'][$i];
}
}