I have this array:
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
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
$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
$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);