Это выглядит ужасно, потому что php не имеет собственных списков.Вы не должны использовать hashmap (ассоциативный массив), когда ключи могут быть одинаковыми.Я не проверял следующее, но что-то вроде этого:
<?
$arr = Array(
Array('n1',Array('x','y'))
, Array('n2',Array('x'))
, Array('n3',Array('y'))
);
foreach($arr as $value){
list($name,$values) = $value;
foreach($values as $value){
echo "$name -> $value".PHP_EOL;
}
}
?>