3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dirs = ['/chris', '/chris/usa', '/david', '/', '/chris/canada/2022', '/david/uk']; $current_path = "/chris"; $sub_dirs = []; foreach($dirs as $dir) { // Ensure $dir starts with path + '/' (sub dir of $current_path) if (strpos($dir, $current_path . '/') === false) { continue; } // Get the relative path from $current_path $relPath = str_replace($current_path . '/', '', $dir); // Remove '/chris/' if any. if (empty($relPath)) { continue; } // Get the first dir of this path [$dir2] = explode('/', $relPath); // Store and add removed slash $sub_dirs[] = '/' . $dir2; } var_export($sub_dirs);

preferences:
102.3 ms | 407 KiB | 5 Q