php에서 array_diff_assoc () 는 일반적으로 사용되는 기능으로 두 배열을 비교하고 그 차이를 반환합니다. 이 기능은 배열의 값을 비교할뿐만 아니라 배열의 주요 이름을 비교합니다. 따라서 많은 개발자가 사용 할 때 의문을 제기 할 것입니다. 배열을 비교할 때 키 이름을 무시하면 예상 결과를 얻을 수 있습니까?
이 기사는 일부 예제를 사용하여 Array_Diff_Assoc ()를 사용할 때 키 이름을 무시하는 것이 실제로 예상 결과를 달성 할 수 있는지 여부를 탐색합니다.
우선, array_diff_assoc () 의 기본 사용법을 이해하는 것이 매우 중요합니다. 이 기능은 두 배열의 키와 값을 비교하고 차동 값을 포함하는 배열을 반환합니다. array_diff_assoc () 는 키 이름과 값의 동등성을 확인하므로 값을 비교하는 것이 아닙니다.
<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "blueberry", "d" => "date");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Array
(
[b] => banana
[c] => cherry
)
이 예에서 Array_Diff_Assoc ()는 두 배열의 키 이름과 값을 비교하고 Array array1 에 있지만 Array2 에 있지 않은 항목을 반환합니다.
때로는 개발자가 비교할 때 배열의 키 이름을 고려하지 않고 값을 비교하려고합니다. 이 경우 array_diff_assoc ()는 키 이름과 값을 동시에 비교하기 때문에 요구 사항을 충족하지 않습니다. 키 이름을 무시하고 값 만 비교하려면 Array_Diff ()를 사용해야합니다.
키 이름이 다르지만 동일한 값을 가진 두 개의 배열이 있다고 가정합니다.
<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("x" => "apple", "y" => "banana", "z" => "cherry");
$result = array_diff($array1, $array2);
print_r($result);
?>
Array
(
)
Array_Diff () 함수는 여기서 사용되며 결과는 빈 배열입니다. Array_Diff ()는 배열 값 만 비교하고 Array array1 및 array2는 동일한 값을 포함하기 때문입니다. Array_Diff_Assoc () 과 달리 Array_Diff ()는 키 이름을 고려하지 않으므로 키 이름의 차이를 무시하고 예상 결과를 얻습니다.
위의 예에서 볼 수 있듯이, array_diff_assoc ()는 키 이름을 무시하고 배열 값 만 비교하려면 가장 적합한 선택이 아닙니다. 반대로 Array_Diff ()는 이 기능을 구현하기에 적합한 도구입니다. array_diff_assoc ()는 키 이름과 값 차이를 모두 고려해야 할 때 여전히 매우 유용하지만 값의 차이에만 관심을 갖고 키 이름을 무시하는 경우 array_diff ()를 사용하는 것이 더 적절합니다.
요약하면, array_diff_assoc ()는 키 이름을 무시할 수 없으므로 키 이름을 무시해야 할 때 array_diff_assoc () 대신 array_diff ()를 선택해야합니다.