Por razones que no discutiré aquí, me veo forzado a analizar un gran directorio de archivos (estamos hablando de 100.000 < x < 1.000.000+) y devolver la lista de archivos como un formación.array_slice con desplazamiento negativo en matrices enormes
Ya estoy en el caché de la lista de archivos, el problema es array_slice.
Sí, porque hay un problema, esta lista de archivo debe ser "paginado" devolverlos en el bloque de 16
Lo que estoy haciendo es la siguiente:
$items_per_page = 16;
$offset = ($current_page * $items_per_page) + $items_per_page;
array_slice($array,-$offset,$items_per_page);
Es fácil ver que en algunas páginas tendremos grandes compensaciones. También a partir de la página cuatro (desplazamiento = -80) hay un gran golpe de rendimiento.
¿Qué podría usar en lugar de array_slice para lograr este tipo de paginación de matriz?
Gracias
100k archivos en el directorio ** one ** es la implementación incorrecta ... – zerkms
Sí, es muy incorrecto. Pero esto es con lo que tengo que trabajar, no es mi elección, después de la fecha límite me aseguraré de cambiar este desastre. – 0plus1
Usar 'preserve_keys' podría ayudar (aunque no estoy seguro). 'array_slice ($ array, - $ offset, $ items_per_page, true);' –