- Set operations with PHP Arrays
- PHP 배열 집합 연산
- PHP 합집합, 교집합, 차집합, 대칭차
테스트 환경
- $arr1의 원소는 A, B, C, D
- $arr2의 원소는 C, D, E, F
- 테이블 생성 및 데이터 입력
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
합집합
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$union = array_unique(array_merge($arr1, $arr2));
print_r( $union );
교집합
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$intersection = array_values(array_intersect($arr1, $arr2));
print_r( $intersection );
차집합
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$complement = array_values(array_diff($arr1, $arr2));
print_r( $complement );
대칭차집합
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$sym_diff = array_values(array_diff(array_merge($arr1, $arr2), array_intersect($arr1, $arr2)));
print_r( $sym_diff );
예제 코드
<?php
$arr1 = array('A', 'B', 'C', 'D');
$arr2 = array('C', 'D', 'E', 'F');
echo "<h3>Union</h3>";
$union = array_unique(array_merge($arr1, $arr2));
print_r($union);
echo "<h3>Intersection</h3>";
$intersection = array_values(array_intersect($arr1, $arr2));
print_r($intersection);
echo "<h3>Complement</h3>";
$complement = array_values(array_diff($arr1, $arr2));
print_r($complement);
echo "<h3>Symmetric difference</h3>";
$sym_diff = array_values(array_diff(array_merge($arr1, $arr2), array_intersect($arr1, $arr2)));
print_r($sym_diff);