在程式開發中,常常會需要做兩個 Array 之間的比較,其實就是數學中集合 (Set) 的概念,常見的包含聯集 (Union)、交集 (Intersection)、差集 (Difference)。
每一次開發的時候,我都會重新搜尋一下這些集合對應到的是怎樣的語法,所以就決定筆記下來,之後要用到就可以直接拿我的文章來複習了!
聯集 Union
A ∪ B |
array_merge 用來將兩個 Array 合併,寫法: array_merge($a, $b)。
交集 Intersection
A ∩ B |
array_intersect 取得兩個 Array 的交集,寫法:array_intersect($a, $b)。
差集 Difference
array_diff 算出兩個 Array 的差集,但要記得:A-B 跟 B-A 的寫法不同,以下搭配圖片解釋。
A-B |
A-B 要將 A 放前面,寫法:array_diff($a, $b)。
B-A |
B-A 則是將 B 放前面,寫法:array_diff($b, $a)。
番外篇
圖片我是用 Draw.io 畫的,那時候有點苦惱不知道要怎麼畫出交集的部分 🤣,所以有查了一下資料,發現中間那個很像橢圓形的東西叫做 pointed oval!直接翻譯叫就做「尖橢圓形」哈哈哈!
總之,只要在 Draw.io 的圖案搜尋欄搜尋 pointed oval 就可以找到東西嚕!
留言
張貼留言