3v4l.org

run code in 300+ PHP versions simultaneously
<?php $paths = [ "fileZ.php", "folder1/content/file1.php", "folder1/content/file2.php", "folder1/edit/file1.php", "folder1/edit/file2.php", "folder1/pagination/file1.php", "folder1/pagination/file2.php", "folder1/toolbar/file1.php", "folder1/toolbar/file2.php", "folder2/cms/html/file1.php", "folder2/cms/html/file2.php" ]; $result = []; foreach ($paths as $path) { $entries = array_reverse(explode("/", $path)); foreach ($entries as $i=>$entry) { if (!$i) { $item=[$entry]; } else { $item[$entry][key($item)] = array_shift($item); } } $result = array_merge_recursive($result, $item); } var_export($result);

preferences:
68.02 ms | 409 KiB | 5 Q