개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.03 13:53

natcasesort 함수 사용 시 오류 발생

목록
  • 클라우드사제 6시간 전 2025.08.03 13:53 새글
  • 1
    1
제가 php에서 natcasesort 함수를 사용하여 문자열을 정렬할 때, 소문자와 대문자가 구분되지 않는데 어떻게 해야할까요?

예를 들어, 다음 배열을 정렬할 때 'Apple'과 'apple'의 정렬 순서가 어떻게 되나요?

php

$fruits = array('Apple', 'banana', 'apple', 'cherry');

natcasesort($fruits);

print_r($fruits);



이 코드를 실행했을 때의 결과가 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  6시간 전



    natcasesort 함수는 대소문자를 구분하지 않고 정렬합니다. 따라서 'Apple'과 'apple'는 같은 순위로 정렬됩니다.

    natcasesort 함수는 문자열의 첫 번째 문자부터 비교를 시작하므로, 'Apple'과 'apple'의 첫 번째 문자인 'A'와 'a'는 대소문자를 구분하지 않습니다.

    따라서, 예시 코드를 실행했을 때의 결과는 다음과 같습니다.

    
    
    $fruits = array('Apple', 'banana', 'apple', 'cherry');
    
    natcasesort($fruits);
    
    print_r($fruits);
    
    


    결과:

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => Apple
    
        [1] => apple
    
        [2] => banana
    
        [3] => cherry
    
    )
    
    


    위 결과에서 'Apple'과 'apple'는 같은 순위로 정렬되었음을 확인할 수 있습니다.

    만약 대소문자를 구분하여 정렬하고 싶다면, usort 함수를 사용할 수 있습니다. usort 함수는 정렬 순서를 지정할 수 있으므로, 대소문자를 구분하여 정렬할 수 있습니다.

    예를 들어, 다음과 같이 usort 함수를 사용할 수 있습니다.

    
    
    $fruits = array('Apple', 'banana', 'apple', 'cherry');
    
    usort($fruits, function($a, $b) {
    
        return strtolower($a) <=> strtolower($b);
    
    });
    
    print_r($fruits);
    
    


    결과:

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => apple
    
        [1] => Apple
    
        [2] => banana
    
        [3] => cherry
    
    )
    
    


    위 결과에서 'apple'과 'Apple'는 대소문자를 구분하여 정렬되었음을 확인할 수 있습니다.

    2025-08-03 13:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,156건 / 2 페이지

검색

게시물 검색