개발자 Q&A

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

2025.05.10 02:39

krsort 함수 사용법에 대한 질문

목록
  • 정렬연구가 1일 전 2025.05.10 02:39
  • 2
    1
제가 공부하고 있는 PHP에서 krsort 함수를 사용하여 배열을 정렬하려고 하지만, 다음과 같은 오류를 만나고 있습니다.

php

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

krsort($fruits);

print_r($fruits);



위 코드를 실행하면, 다음과 같은 결과가 나옵니다.

php

Array

(

    [0] => cherry

    [1] => banana

    [2] => apple

)



제가 이해하는 바로는 krsort 함수는 키를 기준으로 역순 정렬을 하는 함수라고 알고 있었습니다. 하지만 위 결과에서처럼 키가 없을 때는 어떻게 동작하는지 궁금합니다.

krsort 함수는 키가 없을 때는 어떻게 동작하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    krsort 함수는 키가 없을 때는 기본적으로 정렬을 하지 않습니다. 하지만 PHP 7.2 이상부터는 키가 없을 때는 오류를 발생시키지 않고, 정렬을 하지 않습니다.

    PHP 7.2 미만의 버전에서는 키가 없을 때는 오류를 발생시키며, 정렬을 하지 않습니다.

    따라서, 키가 없을 때는 krsort 함수를 사용하기 전에 키를 추가하거나, 다른 정렬 함수를 사용하는 것이 좋습니다.

    예를 들어, 다음과 같이 키를 추가하여 정렬할 수 있습니다.

    #hostingforum.kr
    php
    
    $fruits = array('apple' => 1, 'banana' => 2, 'cherry' => 3);
    
    krsort($fruits);
    
    print_r($fruits);
    
    


    또는, 다음과 같이 키가 없을 때 오류를 발생시키지 않도록 설정할 수 있습니다.

    #hostingforum.kr
    php
    
    error_reporting(E_ALL & ~E_NOTICE);
    
    $fruits = array('apple', 'banana', 'cherry');
    
    krsort($fruits);
    
    print_r($fruits);
    
    


    또는, 다음과 같이 키가 없을 때 정렬을 하도록 설정할 수 있습니다.

    #hostingforum.kr
    php
    
    $fruits = array('apple', 'banana', 'cherry');
    
    uksort($fruits, function($a, $b) {
    
        return $b <=> $a;
    
    });
    
    print_r($fruits);
    
    

    2025-05-10 02:40

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

검색

게시물 검색