FileSystemIterator 내가 정렬해야합니다.정렬 된 파일 목록의 속도를 높이려면 어떻게해야합니까?
I 정렬 기능을 다음과 같이 iterator_to_array(new FileSystemIterator($dir, FilesystemIterator::SKIP_DOTS))
에 uaSort 기능을 사용 : 나는에서 1063 개 파일과 디렉토리가
function nameSort($a, $b) {
if($a->isDir() === $b->isDir()){
return strNatCaseCmp($a->getFilename(), $b->getFilename());
}
return $a->isDir() ? -1 : 1;
}
을 $ DIR 및 파일의 nameSort가 호출되는 11,369 배 목록이 생성됩니다 약 6 초의 평균 시간. 항목이 디렉토리인지 여부에 대한 추가 테스트를 생각했습니다 uaSort nameSort을 더 많이 호출했으나 이있는 행을 제거했을 때이 가정이 잘못되었습니다. 11957로 전화가 걸려서 전화가 끊겼습니다. 0.6 초.
isDir이 매우 느립니다 (목록이 10 배 느려짐). 어떻게 속도를 높일 수 있습니까?
을 사람들을 array_filter 수 있습니다. –