<?php
$dfs = function ($tree) use (&$dfs) {
$name = $tree[0];
$children = $tree[1] ?? null;
echo "$name \n";
if (!$children) {
return;
}
return array_map($dfs, $children);
};
$tree = ['A', [
['B', [['E'], ['F']]],
['C'],
['D', [['G'], ['J']]],
]];
$dfs($tree);
// => A
// => B
// => E
// => F
// => C
// => D
// => G
// => J