개발자 Q&A

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

2025.03.10 12:54

array_diff_uassoc 함수의 사용법에 대한 질문

목록
  • 클린아키텍처광 13일 전 2025.03.10 12:54
  • 9
    1
선생님, array_diff_uassoc 함수를 사용하여 두 개의 배열에서 중복된 키를 제거할 때, 키가 동일한 경우 우선순위를 어떻게 지정할 수 있을까요? 예를 들어, 다음 두 개의 배열이 있다고 가정해 보겠습니다.

php

$array1 = [

    [1, 'a'],

    [2, 'b'],

    [3, 'c'],

];



$array2 = [

    [3, 'd'],

    [2, 'e'],

    [4, 'f'],

];



array_diff_uassoc 함수를 사용하여 중복된 키를 제거할 때, 우선순위를 어떻게 지정할 수 있을까요?

php

$result = array_diff_uassoc($array1, $array2, function($a, $b) {

    // 여기서 키의 우선순위를 지정할 수 있을까요?

});



선생님, array_diff_uassoc 함수의 사용법에 대한 설명을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  13일 전



    array_diff_uassoc 함수는 두 개의 배열에서 중복된 키를 제거할 때, 키가 동일한 경우 우선순위를 지정할 수 있습니다.

    우선순위를 지정하는 방법은 callback 함수를 사용하는 것입니다. callback 함수는 두 개의 키를 비교하여 우선순위를 지정하는 함수입니다.

    예를 들어, 다음 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $array1 = [
    
        [1, 'a'],
    
        [2, 'b'],
    
        [3, 'c'],
    
    ];
    
    
    
    $array2 = [
    
        [3, 'd'],
    
        [2, 'e'],
    
        [4, 'f'],
    
    ];
    
    
    
    $result = array_diff_uassoc($array1, $array2, function($a, $b) {
    
        if ($a[0] < $b[0]) {
    
            return -1; // $a가 우선순위가 높음
    
        } elseif ($a[0] > $b[0]) {
    
            return 1; // $b가 우선순위가 높음
    
        } else {
    
            return 0; // 키가 동일함
    
        }
    
    });
    
    
    
    print_r($result);
    
    


    이 코드에서는 callback 함수가 두 개의 키를 비교하여 우선순위를 지정합니다. $a[0]이 $b[0]보다 작으면 $a가 우선순위가 높고, $a[0]이 $b[0]보다 크면 $b가 우선순위가 높습니다. 키가 동일하면 0을 반환합니다.

    이 코드를 실행하면 $result는 다음과 같이 출력됩니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => Array
    
            (
    
                [0] => 1
    
                [1] => a
    
            )
    
    
    
        [1] => Array
    
            (
    
                [0] => 2
    
                [1] => b
    
            )
    
    
    
    )
    
    


    이러한 예제를 통해 array_diff_uassoc 함수의 사용법을 이해할 수 있습니다.

    2025-03-10 12:55

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

검색

게시물 검색