많은 비슷한 질문이 있으며 거의 해결책이 있지만 클라이언트가 원하는대로 정렬되지 않은 사례가 있습니다.다차원 배열의 파일 목록 정렬
내 배열을 정렬하기 위해 다음과 같은 기능을 사용하고 있습니다 :
- file2.png
- 파일 3 :
function sortFilesByName($a, $b) { if (basename(strtolower($a['path'])) == basename(strtolower($b['path']))) { return 0; } return (basename(strtolower($a['path'])) < basename(strtolower($b['path']))) ? -1 : 1; }
문제는 내 목록을 정렬 할 때 나는 다음과 같은 순서를 얻을 수 있다는 것입니다. PNG
- file4.png
- file5.png
- file6.png
- file7.png
- file8.png
- file9.png
- file10.png
- file11.png
- file1.png
클라이언트 싶습니다 목록의 상단에 file1.png가 있어야하고 나는 그것을 어떻게 달성하는지 조금 혼란스러워합니다.
function sortFilesByName($a, $b) {
return strnatcmp(strtolower(basename($a['path'])), strtolower(basename($b['path'])));
}
을 그리고 그것은 작동합니다 어떤 도움이 :) 감사 답변 후
내가 훨씬 더 가까이 왔 감안할 때, 나는 다음에 내 기능을 변경! 감사!
감사합니다, 당신의 대답은 저를 올바른 위치로 인도하고 제 질문에 새로운 기능을 게시했습니다. – Gazillion