현재 위치: > 최신 기사 목록> Array_Keys ()를 사용하여 키 이름을 추출 한 다음 Array_Diff_Uassoc과 비교하는 방법?

Array_Keys ()를 사용하여 키 이름을 추출 한 다음 Array_Diff_Uassoc과 비교하는 방법?

M66 2025-06-24

PHP에서 배열은 대량의 데이터를 저장하고 처리 할 수있는 매우 강력한 데이터 구조입니다. 때로는 배열에서 키 이름을 추출하거나 두 배열을 비교하고 비교 프로세스가 배열의 키와 값을 고려하는지 확인해야합니다. 오늘, 우리는 이것을 달성하기 위해 array_keys ()array_diff_uassoc ()를 사용하는 방법을 설명합니다.

1. Array_Keys ()를 사용하여 배열의 키 이름을 추출합니다.

Array_Keys () 함수는 배열에서 모든 키 이름을 추출하여 색인 배열로 반환 할 수 있습니다. 이 기능은 특히 배열 키에서 작동해야 할 때 매우 유용합니다. Array_Keys () 의 기본 사용 방법은 다음과 같습니다.

 <?php
$arr = [
    'apple' => 1,
    'banana' => 2,
    'cherry' => 3
];

$keys = array_keys($arr);
print_r($keys);
?>

산출:

 Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

이 예에서는 array_keys ()가 배열 키 이름을 포함하는 배열을 반환합니다. 이 키 이름을 사용하여 필요에 따라 추가 작업을 수행 할 수 있습니다.

2. 미세 비교를 위해 Array_Diff_Uassoc () 를 사용하십시오

Array_diff_uassoc () 함수는 두 배열의 키와 값을 비교하고 사용자 정의 비교 함수를 기반으로 정제 된 비교를 만들 수 있습니다. 이 기능은 Array_Diff_Assoc () 와 유사하지만 비교 규칙을 사용자 정의 할 수 있습니다. 이 함수는 차이가 포함 된 배열을 반환합니다.

array_diff_uassoc () 의 기본 구문은 다음과 같습니다.

 array_diff_uassoc(array $array1, array $array2, callable $value_comparator)
  • $ array1$ array2 는 비교할 배열입니다.

  • $ value_comparator 는 배열의 값을 비교하는 사용자 정의 비교 함수입니다.

다음으로, array_keys ()array_diff_uassoc ()를 결합하여 정제 된 비교 작업을 구현하는 예를 살펴 보겠습니다.

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

$array2 = [
    'apple' => 1,
    'banana' => 3,
    'cherry' => 3
];

// 사용자 정의 비교 기능:두 값이 동일한지 비교하십시오
function custom_compare($value1, $value2) {
    return $value1 - $value2;
}

// 사용 array_diff_uassoc 세련된 비교를 수행하십시오
$result = array_diff_uassoc($array1, $array2, 'custom_compare');
print_r($result);
?>

산출:

 Array
(
    [banana] => 2
)

이 예에서는 두 개의 배열 $ array1$ array2를 정의하고 custom_compare 함수를 사용하여 값을 비교합니다. Array_diff_uassoc () 은 차이, 즉 바나나 키의 값이 2 인 배열을 반환합니다. 이는 배열 에서 바나나 키 값 3 과 같지 않으므로 바나나는 차이 결과로 나열됩니다.

3. 키 이름 차이 비교를 달성하기 위해 array_keys ()array_diff_uassoc () 결합

실제로 사용하면 특정 특정 키 이름에만 관심을 가질 수 있으며 Array_Keys () 를 통해 이러한 키 이름을 얻은 다음 Array_Diff_Uassoc ()를 사용하여 세련된 방식으로 비교합니다. 예를 들어, 우리는 AppleCherry 의 두 가지 열쇠 만 비교하려고합니다.

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

$array2 = [
    'apple' => 1,
    'banana' => 3,
    'cherry' => 4
];

// 비교할 키 이름을 가져옵니다
$keys_to_compare = array_keys($array1); // ['apple', 'banana', 'cherry']

// 사용자 정의 비교 기능:두 값이 동일한지 비교하십시오
function custom_compare($value1, $value2) {
    return $value1 - $value2;
}

// 차이를 비교하고 돌아갑니다
$result = array_diff_uassoc(
    array_intersect_key($array1, array_flip($keys_to_compare)),
    array_intersect_key($array2, array_flip($keys_to_compare)),
    'custom_compare'
);

print_r($result);
?>

산출:

 Array
(
    [cherry] => 3
)

이 예에서는 먼저 Array_Keys () 를 통해 배열 $ array1 의 모든 키 이름을 추출합니다. 그런 다음 array_intersect_key () 를 통해 비교 해야하는 키 ( 사과체리 ) 만 유지합니다. 마지막으로, array_diff_uassoc ()을 사용하여 미세 비교를 수행했으며 결과는 Cherry 의 값이 $ array1 에서 3 , $ array24 인 경우 체리를 반환 함을 보여 주었다.

결론적으로

Array_Keys ()Array_Diff_Uassoc ()를 결합하여 배열의 주요 값을보다 유연하게 비교할 수 있습니다. Array_Keys ()를 사용하면 배열의 키 이름을 쉽게 추출 할 수 있으며 Array_Diff_Uassoc ()는 비교 규칙을 사용자 정의하여 비교 프로세스 중에 배열의 키와 값을 고려하도록 할 수 있습니다. 이 두 기능의 사용을 마스터하면 PHP에서 어레이를 처리하는 능력을 크게 향상시킬 수 있습니다.