현재 위치: > 최신 기사 목록> Natsort를 통해 자연스러운 파일 이름을 정렬하는 방법, 자세한 단계

Natsort를 통해 자연스러운 파일 이름을 정렬하는 방법, 자세한 단계

gitbox 2025-06-09

자연 분류 란 무엇입니까?

자연 정렬은 문자 그대로 문자열 순서에 따라 분류하는 방법입니다. 기존의 알파벳 분류와 달리 Natsort ()는 숫자의 크기 관계를 고려합니다. 예를 들어:

  • file1.txtfile2.txt 앞에 있습니다

  • file10.txtfile2.txt 뒤에 순위가 매겨집니다

이 분류 방법은 단순한 알파벳 분류보다 우리의 일상적인 사고 방식과 더 일치합니다.


Natsort를 사용하여 파일 이름을 자연스럽게 정렬하십시오

1 단계 : 파일 이름 배열을 가져옵니다

먼저 파일 이름이 포함 된 배열이 필요합니다. 일반적으로 scandir () 함수를 사용하여 모든 파일 이름을 디렉토리에서 가져올 수 있습니다.

 $files = scandir('path/to/your/directory');

이 코드는 디렉토리의 모든 파일 및 하위 디렉토리의 이름을 포함하는 배열을 반환합니다. Scandir () 는 두 개의 특수 디렉토리를 반환합니다 . 그리고 .. 기본적으로, 우리는 그것들을 필터링해야 할 수도 있습니다.

2 단계 : Natsort를 사용하여 파일 이름을 정렬하십시오

파일 이름 배열을 얻은 후에는 Natsort () 함수를 호출하여 배열을 정렬 할 수 있습니다.

 natsort($files);

Natsort ()는 파일 이름을 자연스럽게 정렬하여 "file1.txt"가 "file10.txt"보다 앞서 있습니다.

3 단계 : 정렬 된 파일 이름을 표시합니다

정렬이 완료되면 Foreach 루프를 통해 정렬 된 파일 이름을 출력 할 수 있습니다.

 foreach ($files as $file) {
    echo $file . "\n";
}

이런 식으로, 당신은 자연 순서로 정렬 된 파일 이름 목록을 볼 수 있습니다.


샘플 코드

위의 단계를 결합하여 최종 코드는 다음과 같습니다.

 <?php

// 디렉토리에서 모든 파일을 가져옵니다
$files = scandir('path/to/your/directory');

// 제거하다 . 그리고 .. 목차
$files = array_diff($files, array('.', '..'));

// 사용 natsort 파일 이름을 정렬하십시오
natsort($files);

// 정렬 된 파일 이름을 출력하십시오
foreach ($files as $file) {
    echo $file . "\n";
}

?>

출력 예제

디렉토리에 다음 파일이 있다고 가정합니다.

 file1.txt
file10.txt
file2.txt
file20.txt

Natsort () 를 정렬 한 후 출력은 다음과 같습니다.

 file1.txt
file2.txt
file10.txt
file20.txt

Natsort 및 Natsort에 대한 메모 ()

  • Natsort () 함수는 원래 배열을 직접 수정하므로 호출하기 전에 새 배열에 값을 할당 할 필요가 없습니다.

  • 리버스 정렬이 필요한 경우 Natsort ()를 사용하여 정렬 한 다음 Array_Ray_reverse () 함수를 사용할 수 있습니다.

  • Natsort () 는 사례에 민감하며 파일 이름에 대문자가 포함 된 경우 분류 결과에 영향을 줄 수 있습니다. 케이스 정렬을 무시 해야하는 경우 Natsort ()을 호출하기 전에 파일 이름을 통합 소문자 또는 대문자로 변환 할 수 있습니다.

예를 들어:

 // 파일 이름을 소문자로 변환합니다
$files = array_map('strtolower', $files);
natsort($files);