현재 위치: > 최신 기사 목록> usort ()와 비교하기 전에 배열 정렬

usort ()와 비교하기 전에 배열 정렬

M66 2025-06-06

php에서 usort ()array_diff_uassoc () 는 일반적으로 사용되는 배열 처리 기능입니다. USORT ()는 배열을 정렬하는 데 사용되며 Array_Diff_Uassoc ()는 두 배열의 주요 값을 비교하고 차이를 반환하는 데 사용됩니다. 이 두 기능을 결합하면보다 복잡한 배열 작업을 수행 할 수 있습니다.

이 기사에서는 실용적인 예제를 사용하여 USORT ()를 사용하여 배열을 정렬하는 방법을 보여준 다음 Array_Diff_Uassoc ()를 배열 비교에 사용합니다.

1. USORT ()를 사용하여 배열을 정렬하십시오

먼저 USORT () 의 기본 사용법을 이해해 봅시다. USORT ()는 사용자 정의 비교 함수에 따라 배열을 정렬하는 데 사용됩니다. 숫자가있는 줄이 포함 된 배열이 있고 숫자의 크기별로 정렬하고 싶다고 가정합니다.

 <?php
// 숫자로 배열을 정의하십시오
$array = [
    'apple' => '10',
    'banana' => '2',
    'cherry' => '5',
    'date' => '1',
];

// 사용자 정의 비교 기능,숫자 크기별로 정렬하는 데 사용됩니다
function compare_numbers($a, $b) {
    return $a - $b;
}

// 사용 usort() 배열 값을 정렬합니다
usort($array, 'compare_numbers');

// 정렬 된 배열 인쇄
print_r($array);
?>

산출:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 10
)

이 예에서 usort ()는 사용자 정의 compare_numbers () 함수를 사용하여 배열의 숫자 값을 정렬합니다.

2. 배열 비교를 위해 array_diff_uassoc ()를 사용하십시오

Array_Diff_Uassoc ()는 첫 번째 배열에 존재하지만 두 번째 배열에는 존재하지 않는 리턴 요소의 두 배열의 주요 값을 비교하는 데 사용됩니다. Array_Diff_Assoc () 와 달리 Array_Diff_Uassoc ()을 사용하면 사용자 정의 키 값 비교 함수를 사용할 수 있습니다.

두 개의 배열이 있고 주요 값 차이를 비교하고 싶다고 가정합니다. array_diff_uassoc ()를 사용 하여이 함수를 구현할 수 있습니다.

 <?php
// 두 배열을 정의합니다
$array1 = [
    'apple' => 10,
    'banana' => 2,
    'cherry' => 5,
    'date' => 1,
];

$array2 = [
    'apple' => 10,
    'banana' => 3,
    'cherry' => 5,
    'date' => 0,
];

// 사용자 정의 비교 기능,주요 값을 비교하는 데 사용됩니다
function compare_keys($a, $b) {
    return strcmp($a, $b);
}

// 사용 array_diff_uassoc() 배열 키 값을 비교하십시오
$result = array_diff_uassoc($array1, $array2, 'compare_keys');

// 인쇄 결과
print_r($result);
?>

산출:

 Array
(
    [banana] => 2
    [date] => 1
)

이 예에서 Array_Diff_Uassoc ()는 Array1Array2 의 주요 값 차이를 비교합니다. 바나나날짜 는 두 배열에서 다른 키 값을 가지므로 반환됩니다.

3. USORT ()ARRAY_DIFF_UASSOC () 결합

USORT ()array_diff_uassoc ()를 결합하고 먼저 USORT ()를 사용하여 배열을 정렬 한 다음 Array_Diff_Uassoc () 와 비교하여 정렬 된 배열의 차이를 얻을 수 있습니다.

먼저 배열을 정렬 한 다음 두 개의 정렬 된 배열을 비교한다고 가정합니다.

 <?php
// 두 배열을 정의합니다
$array1 = [
    'apple' => 10,
    'banana' => 2,
    'cherry' => 5,
    'date' => 1,
];

$array2 = [
    'apple' => 10,
    'banana' => 3,
    'cherry' => 5,
    'date' => 0,
];

// 사용자 정의 비교 기능,숫자 크기별로 정렬하는 데 사용됩니다
function compare_numbers($a, $b) {
    return $a - $b;
}

// 조합 배열1그리고 배열2값을 정렬하십시오
usort($array1, 'compare_numbers');
usort($array2, 'compare_numbers');

// 사용자 정의 비교 기능,주요 값을 비교하는 데 사용됩니다
function compare_keys($a, $b) {
    return strcmp($a, $b);
}

// 사용 array_diff_uassoc() 정렬 된 배열 비교
$result = array_diff_uassoc($array1, $array2, 'compare_keys');

// 인쇄 결과
print_r($result);
?>

산출:

 Array
(
    [banana] => 2
    [date] => 1
)

이 예에서 먼저 USORT ()를 사용하여 배열 값을 정렬 한 다음 Array_Diff_Uassoc ()를 사용하여 정렬 된 배열을 비교하여 키 값의 차이를 찾으십시오.

결론적으로

USORT ()ARRAY_DIFF_UASSOC ()를 결합하여 배열을 정렬하고 차이점을 비교할 수 있습니다. 이 접근법은 정렬 해야하는 어레이를 처리하고 주요 값과 비교하는 데 매우 유용합니다. USORT ()는 특정 규칙별로 배열을 정렬 할 수 있으며 Array_Diff_Uassoc ()를 사용하면 두 배열 사이의 키 값 차이를 쉽게 찾을 수 있습니다.