はじめに
SQLでUNIONやEXCEPT,INTERSECTを使った際,PHPで和集合とかあるのか気になって調べたメモ
PHPでは、配列の和集合や差集合を直接扱う組み込み関数は提供されていませんが、array_mergeやarray_diff関数を使用してこれらの操作を行うことができます.
和集合
$array1 = ['apple', 'banana', 'cherry'];
$array2 = ['banana', 'cherry', 'date'];
// 和集合の計算
$union = array_merge($array1, $array2);
// 重複を削除するためにarray_uniqueを使用
$union = array_unique($union);
print_r($union);
Array
(
[0] => apple
[1] => banana
[2] => cherry
[5] => date
)
差集合
$array1 = ['apple', 'banana', 'cherry'];
$array2 = ['banana', 'cherry', 'date'];
// 差集合の計算
$difference = array_diff($array1, $array2);
print_r($difference);
Array
(
[0] => apple
)
積集合
$array1 = ['apple', 'banana', 'cherry'];
$array2 = ['banana', 'cherry', 'date'];
// 積集合の計算
$intersection = array_intersect($array1, $array2);
print_r($intersection);
Array
(
[1] => banana
[2] => cherry
)