I have this array:
JavaScript
x
array
0 => string '3,6' (length=3)
3 => string '4,5' (length=3)
4 => string '7,8' (length=3)
8 => string '9' (length=1)
OR
JavaScript
array
3 =>
array
4 =>
array
7 => null
8 =>
array
9 => null
5 => null
6 => null
Every key
is the id and value
is the id for the childs of this parent.
ID of 0 means that (3 & 6) have no parent.
Now, i want to output an HTML list like:
- 3
- 4
- 7
- 8
- 9
- 5
- 6
Advertisement
Answer
JavaScript
$arr = array(
0 => '3,6',
3 => '4,5',
4 => '7,8',
8 => '9',
);
function writeList($items){
global $arr;
echo '<ul>';
$items = explode(',', $items);
foreach($items as $item){
echo '<li>'.$item;
if(isset($arr[$item]))
writeList($arr[$item]);
echo '</li>';
}
echo '</ul>';
}
writeList($arr[0]);
or
JavaScript
$arr = array(
3 => array(
4 => array(
7 => null,
8 => array(
9 => null
),
),
5 => null,
),
6 => null,
);
function writeList($items){
if($items === null)
return;
echo '<ul>';
foreach($items as $item => $children){
echo '<li>'.$item;
writeList($children);
echo '</li>';
}
echo '</ul>';
}
writeList($arr);