0, 'name' => 'A'], ['id' => 1, 'name' => 'a', 'pid' => 0], ['id' => 2, 'name' => 'b', 'pid' => 1], ['id' => 3, 'name' => 'c', 'pid' => 1], ['id' => 4, 'name' => 'd', 'pid' => 0], ['id' => 5, 'name' => 'e', 'pid' => 4], ]; function m_tree($arr, $pid = 0) { $tree = []; foreach ($arr as $tmp) { if (!isset($tmp['pid'])) { $tree[] = $tmp; } elseif($tmp['pid'] == $pid){ $tree[$pid][$tmp['id']] = $tmp; } /*else { if ($tmp['pid'] > $pid) $tree[$pid][] = m_tree($arr, $tmp['pid']); }*/ } return $tree; } echo '
';
print_r(m_tree($test_data));
echo '
'; die; function tree($directory) { $mydir = dir($directory); echo "\n"; $mydir->close(); } function getChmod($filepath) { return substr(base_convert(@fileperms($filepath), 10, 8), -4); } $dirs = tree('/'); var_dump($dirs); var_dump(is_writable('/test')); $perms = getChmod('/test/'); var_dump(fileperms('/test')); var_dump(scandir('/')); var_dump($_SERVER['DOCUMENT_ROOT']); chdir('d:/www'); var_dump(scandir('/')); echo getcwd();