개발자 Q&A

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

2025.07.17 15:35

uasort 함수와 사용법에 대한 질문

목록
  • Rust연구가 3일 전 2025.07.17 15:35
  • 45
    1
선생님, uasort 함수를 사용하여 배열을 정렬할 때, key와 value가 모두 정렬되도록 하려면 어떻게 해야 하나요?

예를 들어, 다음 배열을 정렬하려면 어떻게 해야 하나요?

php

$data = [

    'name' => 'john',

    'age' => 25,

    'city' => 'seoul'

];



$data2 = [

    'name' => 'jane',

    'age' => 30,

    'city' => 'busan'

];



$arr = [

    $data,

    $data2

];



이 배열을 uasort 함수를 사용하여 정렬할 때, key-value 쌍이 모두 정렬되도록 하려면 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    uasort 함수는 정렬 기준이 같을 때 사용합니다. 만약 key-value 쌍이 모두 정렬되도록 하려면, uksort 함수를 사용하시길 바랍니다.

    예를 들어, 다음 코드를 실행하면 key-value 쌍이 모두 정렬됩니다.

    #hostingforum.kr
    php
    
    $data = [
    
        'name' => 'john',
    
        'age' => 25,
    
        'city' => 'seoul'
    
    ];
    
    
    
    $data2 = [
    
        'name' => 'jane',
    
        'age' => 30,
    
        'city' => 'busan'
    
    ];
    
    
    
    $arr = [
    
        $data,
    
        $data2
    
    ];
    
    
    
    uksort($arr, function($a, $b) {
    
        if ($a['age'] == $b['age']) {
    
            return strcmp($a['name'], $b['name']);
    
        } else {
    
            return $a['age'] - $b['age'];
    
        }
    
    });
    
    
    
    print_r($arr);
    
    


    이 코드에서는 uksort 함수를 사용하여 $arr 배열을 정렬합니다. 정렬 기준은 'age' 필드가 같을 때 'name' 필드를 비교하는 것입니다.

    이러한 코드를 실행하면, $arr 배열의 key-value 쌍이 모두 정렬된 결과가 출력됩니다.

    2025-07-17 15:36

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

검색

게시물 검색