개발.이산이다

array_intersect

이산이다 2025. 12. 16. 01:16

1. PHP array_intersect 함수 설명

array_intersect 는 여러 배열을 비교하여 공통으로 존재하는 값들만 반환하는 PHP 내장 함수입니다.
비교는 값(value) 기준이며 키(key) 는 비교하지 않습니다.

✔️ 함수 형식

 
array array_intersect(array $array1, array $array2, array ...$arrays)

✔️ 주요 특징

  • 값이 동일한 요소만 결과 배열에 포함.
  • 첫 번째 배열의 키를 그대로 유지.
  • 비교 시 타입까지는 비교하지 않음(== 비교).

2. 입력된 함수(array_intersect)를 이용한 샘플 코드

 
<?php
$array1 = ["apple", "banana", "orange", "kiwi"];
$array2 = ["banana", "kiwi", "melon"];
$array3 = ["kiwi", "banana", "grape"];

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

print_r($result);
?>

3. 샘플 코드 설명 및 Output

✔️ 동작 설명

  • $array1, $array2, $array3 세 배열 중 모두 포함된 값만 반환.
  • "banana" 와 "kiwi" 가 모든 배열에 존재.

✔️ 출력 결과

 
Array ( [1] => banana [3] => kiwi )

※ 키는 $array1 의 원래 키를 유지합니다.


4. VB.NET에서 유사 기능 구현

VB.NET에는 PHP array_intersect 와 완전히 동일한 내장 함수는 없지만,
LINQ의 Intersect 메서드로 동일한 기능을 구현할 수 있습니다.


✔️ VB.NET 함수 설명 — Enumerable.Intersect

Intersect() 는 두 컬렉션에서 공통 요소만 추출하는 LINQ 확장 메서드입니다.


✔️ VB.NET 샘플 코드

 
Imports System.Linq

Module Module1
    Sub Main()
        Dim array1 = {"apple", "banana", "orange", "kiwi"}
        Dim array2 = {"banana", "kiwi", "melon"}
        Dim array3 = {"kiwi", "banana", "grape"}

        Dim result = array1.Intersect(array2).Intersect(array3)

        For Each item In result
            Console.WriteLine(item)
        Next
    End Sub
End Module

✔️ 사용 방법 및 Output

● 동작 설명

  • Intersect 를 연속 적용하여 3개의 배열의 공통된 값만 추출.

● 출력

 
banana kiwi

5. C#에서 유사 기능 구현 (Enumerable.Intersect)

C#에서도 LINQ의 Intersect() 를 사용합니다.


✔️ C# 함수 설명

Intersect() 는 두 시퀀스에서 공통된 요소만 반환하는 LINQ 메서드입니다.


✔️ C# 샘플 코드

 
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        string[] array1 = { "apple", "banana", "orange", "kiwi" };
        string[] array2 = { "banana", "kiwi", "melon" };
        string[] array3 = { "kiwi", "banana", "grape" };

        var result = array1.Intersect(array2).Intersect(array3);

        foreach (var item in result)
        {
            Console.WriteLine(item);
        }
    }
}

✔️ Output

 
banana kiwi

6. Python에서 유사 기능 구현 (set.intersection)

Python에서는 set의 교집합(intersection) 기능이 PHP array_intersect 와 동일합니다.


✔️ Python 함수 설명 — set.intersection()

intersection() 는 여러 세트에서 공통된 요소만 반환합니다.


✔️ Python 샘플 코드

 
array1 = {"apple", "banana", "orange", "kiwi"}
array2 = {"banana", "kiwi", "melon"}
array3 = {"kiwi", "banana", "grape"}

result = array1.intersection(array2, array3)
print(result)

✔️ Output

 
{'banana', 'kiwi'}

7. JavaScript에서 유사 기능 구현

JavaScript에는 내장된 array_intersect 는 없지만
filter() 와 includes() 를 조합하여 동일한 기능을 구현합니다.


✔️ JavaScript 유사 함수 설명

여러 배열에서 공통 요소만 반환하는 사용자 정의 함수로 구현.


✔️ JavaScript 샘플 코드

 
const array1 = ["apple", "banana", "orange", "kiwi"];
const array2 = ["banana", "kiwi", "melon"];
const array3 = ["kiwi", "banana", "grape"];

const array_intersect = (...arrays) =>
    arrays.reduce((acc, cur) => acc.filter(v => cur.includes(v)));

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

console.log(result);

✔️ Output

 
[ 'banana', 'kiwi' ]

'개발.이산이다' 카테고리의 다른 글

array_intersect_ukey  (0) 2025.12.18
array_udiff  (0) 2025.12.17
array_diff  (0) 2025.12.15
natcasesort  (0) 2025.12.14
prev  (0) 2025.12.13