현재 위치: > 최신 기사 목록> array_diff_assoc ()가 print_r ()를 볼 때 출력 형식에주의하십시오.

array_diff_assoc ()가 print_r ()를 볼 때 출력 형식에주의하십시오.

M66 2025-06-06

php에서 array_diff_assoc ()는 두 배열의 키와 값을 비교하고 첫 번째 배열에 존재하지만 두 번째 배열에 있지 않은 모든 요소를 ​​포함하는 배열을 반환하는 매우 유용한 기능입니다. 그러나 그 차이를보다 명확하게보고 싶을 때 print_r () 함수는 배열의 내용을 읽을 수있는 형식으로 인쇄하는 이상적인 선택입니다. 다음으로 array_diff_assoc ()차동 출력 형식을보고주의를 기울일 몇 가지 세부 사항에 대해 논의하는 방법을 탐색합니다.

1. array_diff_assoc () 함수는 무엇입니까?

Array_Diff_Assoc () 함수는 두 배열의 키와 값을 비교하는 데 사용되며 첫 번째 배열에는 요소가 포함 된 배열을 반환하지만 두 번째 배열에는 없습니다. 배열의 키와 값을 고려합니다.

문법:

 array_diff_assoc(array $array1, array $array2): array
  • $ array1 : 첫 번째 배열.

  • $ array2 : 두 번째 배열.

  • 반환 값 : $ array1 에 존재하지만 $ array2 에 존재하지 않는 모든 요소가 포함 된 배열을 반환합니다.

2. array_diff_assoc () 사용 예

$ 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);
?>

3. print_r ()을 사용하여 출력을보십시오

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 에는 표시되지 않으므로 결과에 영향을 미치지 않습니다.

4. 자세한 내용은 언급됩니다

  • 키 이름과 값 비교 : array_diff_assoc ()는 키 이름과 값을 엄격히 비교합니다. 두 배열의 키 이름이 동일하지만 값이 다르면 차이로 취급하고 출력합니다.

  • 데이터 유형의 차이 : 비교 프로세스 중에 Array_Diff_Assoc ()는 데이터 유형을 구별합니다. 즉, 두 요소가 동일하게 보이더라도 Array_Diff_Assoc () 는 다른 유형 인 한 다른 요소로 취급합니다. 예를 들어, 한 요소는 정수이고 다른 요소는 문자열이며, array_diff_assoc ()는 그것들을 다르게 고려합니다.

  • 빈 배열의 반환 값 : 두 배열이 정확히 동일하면 Array_Diff_Assoc ()가 빈 배열을 반환합니다. 차이를 디버그하거나 표시하려면 결과가 비어있는 경우에도 인쇄 _r ()을 사용하여 결과를 인쇄 할 수 있습니다.

  • 인쇄 선명도 : 인쇄 _r ()가 배열의 구조를 쉽게 인쇄 할 수 있지만 복잡한 다차원 배열을 다룰 때 출력이 충분히 명확하지 않을 수 있습니다. 이 경우 var_dump () 또는 기타 디버깅 도구를 사용하여보다 자세한 정보를 얻으십시오.

5. 고급 응용 프로그램 : URL을 M66.net 으로 바꾸십시오

배열에 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 코드를 효과적으로 디버그하고 최적화하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.