개발.이산이다

array_diff

이산이다 2025. 12. 15. 05:41

1. PHP array_diff 함수 설명

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

  • 첫 번째 배열을 기준으로 하여, 나머지 배열들에 존재하지 않는 값들만 반환합니다.
  • 비교는 값(value)만 비교, 키(key)는 비교하지 않습니다.
  • 반환되는 배열은 원본 배열의 키를 유지합니다.

2. array_diff 함수 샘플 코드

 
<?php
$a = array("apple", "banana", "orange", "kiwi");
$b = array("banana", "orange");

$result = array_diff($a, $b);

print_r($result);
?>

3. 샘플 코드 이용 방법 및 출력 결과

✔ 이용 방법

위 코드에서 $a 배열에서 $b 배열에 없는 값을 찾아 반환합니다.

✔ 출력 결과

 
Array ( [0] => apple [3] => kiwi )

즉, "apple" 과 "kiwi" 는 $b 배열에 없으므로 결과 배열에 포함됩니다.


4. VB.NET에서 유사한 기능

VB.NET에는 PHP의 array_diff와 동일한 내장 함수는 없지만,
LINQ Except 기능으로 동일하게 구현할 수 있습니다.


VB.NET 함수 설명 (Except)

  • Enumerable.Except(first, second)
  • 첫 번째 컬렉션에서 두 번째 컬렉션에 없는 요소만 반환합니다.

VB.NET 샘플 코드

 
Imports System.Linq

Module Module1
    Sub Main()
        Dim a = {"apple", "banana", "orange", "kiwi"}
        Dim b = {"banana", "orange"}

        Dim result = a.Except(b)

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

✔ 결과 출력

 
apple kiwi

5. C#에서 유사한 기능

C#도 VB.NET과 동일하게 LINQ Except() 사용


C# 함수 설명

  • Enumerable.Except(first, second)
  • 첫 번째 리스트에서 두 번째 리스트에 없는 값을 반환합니다.

C# 샘플 코드

 
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        var a = new[] { "apple", "banana", "orange", "kiwi" };
        var b = new[] { "banana", "orange" };

        var result = a.Except(b);

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

✔ 출력 결과

 
apple kiwi

6. Python에서 유사한 기능

Python에서는 set 차집합(difference) 기능을 사용합니다.


Python 함수 설명

  • setA.difference(setB)
  • 또는 setA - setB
  • A에서 B에 없는 요소만 반환합니다.

Python 샘플 코드

 
a = ["apple", "banana", "orange", "kiwi"]
b = ["banana", "orange"]

result = list(set(a) - set(b))
print(result)

✔ 출력 결과

 
['apple', 'kiwi']

※ set은 순서를 보장하지 않으므로 필요하면 정렬 가능

 
sorted(list(set(a) - set(b)))

7. JavaScript에서 유사한 기능

JavaScript에는 내장 diff 함수가 없지만,
filter() 와 includes() 를 이용하여 구현할 수 있습니다.


JavaScript 유사 기능 설명

  • array1.filter(x => !array2.includes(x))
  • array1에서 array2에 없는 요소만 반환

JavaScript 샘플 코드

 
const a = ["apple", "banana", "orange", "kiwi"];
const b = ["banana", "orange"];

const result = a.filter(item => !b.includes(item));
console.log(result);

✔ 출력 결과

 
["apple", "kiwi"]

✅ 전체 정리

언어함수 / 기능역할
PHP array_diff 배열 차집합(값 비교)
VB.NET Enumerable.Except() 컬렉션 차집합
C# Enumerable.Except() 컬렉션 차집합
Python set.difference() 집합 차집합
JavaScript filter + includes 배열 차집합 구현

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

array_udiff  (0) 2025.12.17
array_intersect  (0) 2025.12.16
natcasesort  (0) 2025.12.14
prev  (0) 2025.12.13
in_array  (0) 2025.12.12