Leer carpetas en PHP y guardarlas en un array

En el desarrollo web y la gestión de archivos con PHP, es muy común necesitar recorrer un directorio para obtener una lista de sus carpetas. A menudo, los desarrolladores buscan formas eficientes de almacenar estos resultados en estructuras de datos como arrays, manteniendo control sobre los valores iniciales que ya tienen definidos.

Code editor showing an optimized PHP one-liner function to read directory listings into an array, alongside a visual folder structure in the sidebar.
Optimized PHP snippet for reading directories

Una solución compacta y optimizada

A continuación, presentamos una versión condensada en una sola línea que resuelve este problema directamente. Este enfoque utiliza funciones de alto nivel como array_filter, combinadas con un bucle implícito mediante funciones flecha, para filtrar automáticamente los elementos no deseados.

El código se encarga de llamar a scandir() para obtener todo el contenido del directorio. Luego, aplica un filtro para descartar cualquier archivo oculto (que empiecen con punto) y selecciona únicamente aquellos que corresponden a carpetas reales. Finalmente, utiliza array_merge para combinar este resultado filtrado con el valor inicial deseado, devolviendo un array limpio y listo para usar.