I have the following array that needs to be displayed as navigation
[items] => Array
(
[Electronics] => Array
(
[level2] => Array
(
[Home Use] => Array
(
[level3] => Array
(
[Laptops] => Array
(
[level4] => Array
(
[0] => HP A very simple laptop
[1] => HP Tablet
[2] => Acer Laptop
)
)
[Desktops] => Array
(
[level4] => Array
(
[0] => Acer Tablet
)
)
[Tablets] => Array
(
[level4] => Array
(
[0] =>
)
)
)
)
[Business] => Array
(
[level3] => Array
(
[Tablets] => Array
(
[level4] => Array
(
[0] => HP A very simple laptop
[1] => HP Tablet
[2] => Touchmate
)
)
[Laptops] => Array
(
[level4] => Array
(
[0] => Compaq
[1] => IBM
)
)
[Desktop] => Array
(
[level4] => Array
(
[0] => Lenovo
)
)
)
)
)
)
[Hotels] => Array
(
[level2] => Array
(
[5 Stars] => Array
(
[level3] => Array
(
[Daily Basis] => Array
(
[level4] => Array
(
[0] => Hilton
)
)
[Montly Basis] => Array
(
[level4] => Array
(
[0] => Hilton
[1] => Intercon
[2] => Marina Hotel
[3] => Galaxy Plaza Hotel
)
)
)
)
[4 Stars] => Array
(
[level3] => Array
(
[Daily Basis] => Array
(
[level4] => Array
(
[0] => Address
)
)
[Montly Basis] => Array
(
[level4] => Array
(
[0] => Armada Al Barsha Hotel
[1] => Everest International Hotel
[2] => New Hotel
[3] => Good Hotel
)
)
)
)
[3 Stars] => Array
(
[level3] => Array
(
[Daily Basis] => Array
(
[level4] => Array
(
[0] => Royal Garden Hotel
)
)
[Montly Basis] => Array
(
[level4] => Array
(
[0] => Galaxy Plaza Hotel
)
)
)
)
)
)
[Entertainment] => Array
(
[level2] => Array
(
[] => Array
(
[level3] => Array
(
[] => Array
(
[level4] => Array
(
[0] =>
)
)
)
)
)
)
[Services] => Array
(
[level2] => Array
(
[] => Array
(
[level3] => Array
(
[] => Array
(
[level4] => Array
(
[0] =>
)
)
)
)
)
)
)
)
NOW... i want to display this in Unordered list. I have the following function.
public function display($sorted_array)
{
$markup = '';
foreach ($sorted_array as $key => $value)
{
if($key === 'Electronics' || $key ==='Hotels' || $key === 'Services' || $key === 'Entertainment')
{
$markup .= '<h1><li>';
}
$markup .= (is_array($value)) ? '<b>'.$key.'</b></li></ul></h1>'.$this->display($value) : '<ul><li>'.$value. '</li></ul>';
}
return '<ul>'.$markup . '</ul>';
}
Electronics
Home Use
Laptops
HP A very simple laptop
HP Tablet
Acer Laptop
Desktops
Acer Tablet
Tablets
Business
Tablets
HP A very simple laptop
HP Tablet
Touchmate
Laptops
Compaq
IBM
Desktop
Lenovo
Hotels
5 Stars
Daily Basis
Hilton
All the categories and subcategories are being displayed in the right order. However, i need to know where i should add an id so that i can add styles to sub categories and place them appropriately.