Crea 2 matrices:
Una donde almacenes todas las categorias: $categorias['id'] = 'Nombre';
Otra donde almacenes todos los niveles: $niveles['padre'] = array('id', 'id', 'id');
Asi, recorres niveles facilmente:
Código PHP:
function ver_categorias($padre) {
global $categorias, $niveles;
foreach($niveles[$padre] as $cat) {
echo $categorias[$cat] . '<br />';
if(isset($niveles[$cat]))
ver_categorias($cat);
}
}
ver_categorias(0); // Mostrar todas las categorias