I want to know how I can write a method to convert a flat array of any size to a hierarchical tree (look at examples). Can anyone suggest a way to do this? Also, can this be done without using a large amount of resources?
Here is my example:
Flat Array:
$categories = array(
array(
'id' => 1,
'sub' => 0
),
array(
'id' => 2,
'sub' => 1
),
array(
'id' => 3,
'sub' => 1
),
array(
'id' => 4,
'sub' => 2
),
array(
'id' => 5,
'sub' => 2
),
array(
'id' => 6,
'sub' => 4
),
array(
'id' => 7,
'sub' => 0
)
);
Hierarchical Tree:
$categories = array(
array(
'id' => 1,
'sub' => 0,
'children' => array(
array(
'id' => 2,
'sub' => 1,
'children' => array(
array(
'id' => 4,
'sub' => 2,
'children' => array(
array(
'id' => 6,
'sub' => 4,
'children' => array()
)
)
),
array(
'id' => 5,
'sub' => 2,
'children' => array()
)
)
),
array(
'id' => 3,
'sub' => 1,
'children' => array()
),
)
),
array(
'id' => 7,
'sub' => 0,
'children' => array()
)
);