현재 위치: > 최신 기사 목록> Array_diff_key ()와 array_diff ()의 차이점은 무엇입니까? 어떤 시나리오에 적합하고 선택하는 방법은 무엇입니까?

Array_diff_key ()와 array_diff ()의 차이점은 무엇입니까? 어떤 시나리오에 적합하고 선택하는 방법은 무엇입니까?

M66 2025-05-12

Array_Diff_Key ()는 두 개 이상의 배열의 키를 비교하는 데 사용됩니다. 첫 번째 배열에는 존재하지만 다른 배열에는 그렇지 않은 키 값 쌍이 포함 된 배열을 반환합니다.

기능 프로토 타입 :

 array_diff_key(array $array1, array $array2, array ...$arrays): array

매개 변수 설명 :

  • $ array1 : 첫 번째 배열을 비교합니다.

  • $ array2 : 비교할 두 번째 배열.

  • $ 배열 (선택 사항) : 비교를위한 더 많은 배열.

반환 값 : $ array1 에 포함되어 있지만 다른 배열에는 그렇지 않은 키 값 쌍의 배열을 반환합니다.

예:

 $array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3,
];

$array2 = [
    'a' => 1,
    'c' => 3,
    'd' => 4,
];

$result = array_diff_key($array1, $array2);
print_r($result);

산출:

 Array
(
    [b] => 2
)

설명 : 이 예에서는 array_diff_key ()가 $ array1$ array2 의 키를 비교합니다. 키 'b' 만이 $ array1 에는 존재하지만 $ array2 에는 존재하지 않으므로 리턴 결과는 키 'B' 만 포함하는 배열입니다.

array_diff () 소개

Array_Diff ()는 배열 값을 비교하는 데 사용됩니다. 첫 번째 배열에 존재하지만 다른 배열에는 나타나지 않는 값이 포함 된 배열을 반환합니다.

기능 프로토 타입 :

 array_diff(array $array1, array $array2, array ...$arrays): array

매개 변수 설명 :

  • $ array1 : 첫 번째 배열을 비교합니다.

  • $ array2 : 비교할 두 번째 배열.

  • $ 배열 (선택 사항) : 비교를위한 더 많은 배열.

반환 값 : $ array1 에 포함되어 있지만 다른 배열에는 포함되지 않은 값 배열을 반환합니다.

예:

 $array1 = [1, 2, 3];
$array2 = [2, 3, 4];

$result = array_diff($array1, $array2);
print_r($result);

산출:

 Array
(
    [0] => 1
)

설명 : 이 예에서 Array_diff ()는 $ array1$ array2 의 값을 비교합니다. 값 1은 $ array1 에 존재하지만 $ array2 에 있지 않으므로 1을 포함하는 배열이 반환됩니다.

Array_diff_key ()Array_diff () 의 주요 차이점

  1. 비교 된 물체는 다릅니다.

    • Array_Diff_Key ()는 배열의 키를 비교합니다. 즉, 배열 키가 다른 어레이에 존재하는지 여부에주의를 기울입니다.

    • Array_Diff ()는 배열의 값을 비교합니다. 즉, 배열의 값이 다른 배열에 존재하는지 여부에만주의를 기울입니다.

  2. 다른 사용 시나리오 :

    • array_diff_key ()는 키에 의해 배열을 필터링 해야하는 경우에 적합합니다. 예를 들어, 배열에 고유 한 키를 찾을 수 있습니다.

    • Array_Diff ()는 값에 따라 배열을 필터링 해야하는 경우에 적합합니다. 예를 들어, 배열에 고유 한 요소를 찾을 수 있습니다.

  3. 반환 된 결과는 다릅니다.

    • Array_Diff_Key ()는 고유 키가 포함 된 배열을 반환하고 결과의 배열은 원래 배열의 키를 유지합니다.

    • Array_Diff ()는 고유 한 값이 포함 된 배열을 반환하며 결과의 배열 키는 다시 표시됩니다.

선택하는 방법?

Array_Diff_Key () 또는 Array_Diff ()를 사용하도록 선택하면 주로 키나 값을 기준으로 비교할 것인지에 따라 다릅니다.

  • Array_Diff_Key () 사용 : 배열의 키에만 관심이 있으면 Array_Diff_Key ()를 사용하여 키를 비교하십시오.

    • 예를 들어, 다양한 사용자 정보가 있으며 해당 배열에 존재하지만 다른 배열에는 존재하지 않는 필드 (키)를 찾아야합니다.

  • Array_Diff () 사용 : 배열 값에만 관심이있는 경우 Array_Diff ()를 사용하여 값을 비교하십시오.

    • 예를 들어, 주문 배열이 있으며 그 안에 존재하지만 다른 주문이 아닌 항목을 찾아야합니다.

요약

  • array_diff_key ()는 키를 필터링하는 데 적합한 키를 비교합니다.

  • Array_Diff ()는 값을 비교하고 값을 기반으로 배열을 필터링하는 데 적합합니다.

  • 특정 시나리오에 따라 올바른 기능을 선택하면 배열 데이터를보다 효율적으로 처리하는 데 도움이 될 수 있습니다.