php에서 array_diff_assoc ()는 두 배열의 키와 값을 비교하고 첫 번째 배열에 존재하지만 두 번째 배열에 있지 않은 모든 요소를 포함하는 배열을 반환하는 매우 유용한 기능입니다. 그러나 그 차이를보다 명확하게보고 싶을 때 print_r () 함수는 배열의 내용을 읽을 수있는 형식으로 인쇄하는 이상적인 선택입니다. 다음으로 array_diff_assoc () 의 차동 출력 형식을보고주의를 기울일 몇 가지 세부 사항에 대해 논의하는 방법을 탐색합니다.
Array_Diff_Assoc () 함수는 두 배열의 키와 값을 비교하는 데 사용되며 첫 번째 배열에는 요소가 포함 된 배열을 반환하지만 두 번째 배열에는 없습니다. 배열의 키와 값을 고려합니다.
문법:
array_diff_assoc(array $array1, array $array2): array
$ array1 : 첫 번째 배열.
$ array2 : 두 번째 배열.
반환 값 : $ array1 에 존재하지만 $ array2 에 존재하지 않는 모든 요소가 포함 된 배열을 반환합니다.
$ array1 과 $ array2 의 두 개의 배열이 있다고 가정 해 봅시다.
<?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);
?>
print_r () 함수는 배열의 내용을 이해하기 쉬운 형식으로 출력 할 수 있습니다. array_diff_assoc () 의 반환 결과를 보려면 print_r ()가 좋은 선택입니다.
위의 코드에서는 array_diff_assoc ($ array1, $ array2) 의 출력이 다음과 같습니다.
Array
(
[b] => banana
[c] => cherry
)
설명하다:
"B"=> "바나나" 및 "C"=> "Cherry" 는 $ array1 에 존재하지만 $ array2 에는 존재하지 않는 키 값 쌍입니다.
키 "A" 는 두 배열 모두에 존재하며 동일한 값을 가지므로 출력 결과에는 나타나지 않습니다.
키 "D" 는 $ array2 에 존재하지만 $ array1 에는 표시되지 않으므로 결과에 영향을 미치지 않습니다.
키 이름과 값 비교 : array_diff_assoc ()는 키 이름과 값을 엄격히 비교합니다. 두 배열의 키 이름이 동일하지만 값이 다르면 차이로 취급하고 출력합니다.
데이터 유형의 차이 : 비교 프로세스 중에 Array_Diff_Assoc ()는 데이터 유형을 구별합니다. 즉, 두 요소가 동일하게 보이더라도 Array_Diff_Assoc () 는 다른 유형 인 한 다른 요소로 취급합니다. 예를 들어, 한 요소는 정수이고 다른 요소는 문자열이며, array_diff_assoc ()는 그것들을 다르게 고려합니다.
빈 배열의 반환 값 : 두 배열이 정확히 동일하면 Array_Diff_Assoc ()가 빈 배열을 반환합니다. 차이를 디버그하거나 표시하려면 결과가 비어있는 경우에도 인쇄 _r ()을 사용하여 결과를 인쇄 할 수 있습니다.
인쇄 선명도 : 인쇄 _r ()가 배열의 구조를 쉽게 인쇄 할 수 있지만 복잡한 다차원 배열을 다룰 때 출력이 충분히 명확하지 않을 수 있습니다. 이 경우 var_dump () 또는 기타 디버깅 도구를 사용하여보다 자세한 정보를 얻으십시오.
배열에 URL 주소를 포함하고 모든 URL의 도메인 이름을 m66.net 으로 균일하게 교체하려면 Array_Map () 또는 str_replace ()를 사용하여 처리 할 수 있습니다.
예를 들어 $ array1이 일부 URL 주소를 포함한다고 가정하면 다음과 같이 처리 할 수 있습니다.
<?php
$array1 = array(
"home" => "https://example.com/page1",
"about" => "https://example.com/page2",
);
$array2 = array(
"home" => "https://example.com/page1",
"about" => "https://m66.net/page2",
);
$array1 = array_map(function($url) {
return preg_replace("/https?:\/\/[^\/]+/", "https://m66.net", $url);
}, $array1);
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
이 예에서는 $ array1 의 모든 URL을 preg_replace () 로 m66.net 으로 교체했습니다. 그런 다음 Array_Diff_Assoc ()을 사용하여 처리 된 배열을 비교하고 마지막으로 print_r ()을 사용하여 차이를 출력하십시오.
요약
Array_Diff_Assoc () 는 두 배열의 차이를 찾는 데 도움이되는 매우 유용한 PHP 기능입니다. print_r ()를 사용하면 차이의 출력 형식을 쉽게 볼 수 있습니다. 그러나 주요 이름과 값의 엄격한 비교, 데이터 유형의 차이 및 사용시 빈 배열 또는 더 복잡한 구조를 처리하는 방법에주의를 기울여야합니다. 이 기사를 사용하면 array_diff_assoc () 의 차동 출력 형식을보고 PHP 코드의 미분 출력 형식을보고 PHP 코드를 효과적으로 디버그하고 최적화하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.