3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['App', 'Classes', 'Auth'], ['App', 'Classes', 'Auth'], ['App', 'Classes', 'Middleware'], ['App', 'Classes', 'Phone'], ['App', 'Classes', 'Auth'], ['App', 'Mail'], ['App', 'Mail', 'Sender'], ['App', 'Box'], ]; $results = json_decode(json_encode($array)); $tree = null; foreach ($results as $result) { $thisref = &$refs->{$result[0]}; $tree->{$result[0]} = &$thisref; $thisref = &$refs->{$result[1]}; $tree->{$result[0]}->{$result[1]} = &$thisref; if (!empty($result[2])) { $thisref = &$refs->{$result[2]}; $refs->{$result[0]}->{$result[1]}[] = $result[2];//&$thisref; $refs->{$result[0]}->{$result[1]} = array_unique($refs->{$result[0]}->{$result[1]}); } } print_r(json_decode(json_encode($tree), true));

preferences:
53.89 ms | 402 KiB | 5 Q