Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_intersect_assoc() 함수 사용법 – 배열 키와 값 함께 비교하기

array_intersect_assoc() 함수는 여러 배열을 비교하되 키(key)와 값(value)이 모두 일치하는 요소만 골라내어 새로운 배열로 반환하는 PHP 내장 함수입니다. 일반적인 array_intersect() 함수가 값만 비교하는 것과 달리, 이 함수는 인덱스(키)까지 함께 검사한다는 점이 핵심 차이입니다.

문법(Syntax)

array_intersect_assoc(arr1, arr2, arr3, arr4, …)

매개변수(Parameters)

  • arr1 − 기준이 되는 배열입니다. (필수)

  • arr2 − arr1과 비교할 배열입니다. (필수)

  • arr3 − 추가로 비교할 배열입니다. 필요에 따라 계속 확장할 수 있습니다. (선택)

  • arr4 − 추가로 비교할 배열입니다. (선택)

반환값(Return)

array_intersect_assoc() 함수는 첫 번째 배열(arr1)의 요소 중에서, 나머지 모든 매개변수 배열에 동일한 키와 값이 동시에 존재하는 항목들만 담은 배열을 반환합니다. 만약 일치하는 요소가 하나도 없다면 빈 배열을 반환합니다.

예제(Example)

<?php
   $arr1 = array("p"=>"headphone", "q"=>"earpod", "r"=>"charger");
   $arr2 = array("p"=>"headphone", "q"=>"earpod");
   $res = array_intersect_assoc($arr1, $arr2);
   print_r($res);
?>

출력 결과(Output)

Array 
(
   [p] => headphone
   [q] => earpod
)

결과 해설

위 예제에서 $arr1$arr2를 비교한 결과, 키 p와 값 headphone, 그리고 키 q와 값 earpod이 두 배열에서 완전히 동일하므로 이 두 요소만 결과 배열에 포함되었습니다. 반면 키 r의 값 charger$arr2에 존재하지 않기 때문에 제외되었습니다.

참고: 키가 같더라도 값이 다르거나, 값이 같더라도 키가 다르면 해당 요소는 결과에 포함되지 않습니다. 키는 무시하고 값만 비교하고 싶다면 array_intersect() 함수를 사용하세요.