private function display_text($V, $E, $root, $level = 0)
{
$r = '';
if (isset($V[$root])) {
$r .= str_repeat(' ', $level) . $V[$root]['code'] . "\n";
}
if (isset($E[$root])) {
asort($E[$root]);
uksort($E[$root], function ($a, $b) use($V) {
if (!isset($V[$a]['rank'])) {
return 0;
}
if (!isset($V[$b]['rank'])) {
return 0;
}
return $V[$a]['rank'] > $V[$b]['rank'];
});
foreach ($E[$root] as $id => $label) {
$r .= str_repeat(' ', $level) . 'Label : ' . $label . "\n" . $this->display_text($V, $E, $id, $level + 1);
}
}
return $r;
}