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 $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 ()는 배열의 값을 비교합니다. 즉, 배열의 값이 다른 배열에 존재하는지 여부에만주의를 기울입니다.
다른 사용 시나리오 :
array_diff_key ()는 키에 의해 배열을 필터링 해야하는 경우에 적합합니다. 예를 들어, 배열에 고유 한 키를 찾을 수 있습니다.
Array_Diff ()는 값에 따라 배열을 필터링 해야하는 경우에 적합합니다. 예를 들어, 배열에 고유 한 요소를 찾을 수 있습니다.
반환 된 결과는 다릅니다.
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 ()는 값을 비교하고 값을 기반으로 배열을 필터링하는 데 적합합니다.
특정 시나리오에 따라 올바른 기능을 선택하면 배열 데이터를보다 효율적으로 처리하는 데 도움이 될 수 있습니다.