$data = array(); // your data
function toUL($data=false, $flatten=false){
$response = '<ul>';
if(false !== $data) {
foreach($data as $key=>$val) {
$response.= '<li>';
if(!is_array($val)) {
$response.= $val;
} else {
if(!$flatten){
$response.= toUL($val);
} else {
// pulls the sub array into the current list context
$response.= substr($response,0,strlen($response)-5) . toUL($val);
}
}
$response.= '</li>';
}
}
$response.= '</ul>';
return $response;
}
// Тест № 1 - именованные значения
echo toUL (array ('a' => 'b', 'c' => 'd', 'e' => array ('f' => 'g')));
// Результат № 1
// Тест № 2 - списки значений
echo toUL (массив ('a', 'b', 'c', массив ('d', 'e', 'f')));
// Результат № 2