✅ 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 |