홈 / PHP / 상세보기

array_intersect - 두 개 이상의 배열을 비교

👁 조회 2 📅 2026-10-21

array_intersect는 두 개 이상의 배열을 비교하여 모든 배열에 공통으로 존재하는 값(교집합)을 반환하는 PHP 내장 함수입니다.


array_intersect(array $array, array ...$arrays): array


1. 주요 특징 :

ⓐ키(Key) 유지: 반환되는 배열은 첫 번째 배열($array)의 인덱스(키)를 그대로 유지합니다.

ⓑ값(Value)만 비교: 키는 무시하고 오직 배열의 '값'만을 기준으로 교집합을 찾습니다.

ⓒ문자열 기반 비교: 내부적으로 두 값을 문자열로 변환한 뒤 비교합니다. 즉, (string) $elem1 === (string) $elem2 방식으로 비교가 이루어집니다. 대소문자도 엄격하게 구분합니다.



2. 사용 예제 :


<?php

$array1 = array("a" => "green", "red", "blue");

$array2 = array("b" => "green", "yellow", "red");

$array3 = array("green", "red", "pink");


// 세 배열에 모두 존재하는 값 찾기

$result = array_intersect($array1, $array2, $array3);


print_r($result);

?>


Array

(

[a] => green

[0] => red

)


위 결과에서 볼 수 있듯이, 모든 배열에 공통으로 들어있는 "green"과 "red"가 반환되었으며, 키값("a", 0)은 첫 번째 배열인 $array1의 키가 그대로 유지되었습니다.