在PHP 中尋找陣列的子集
處理關係資料庫時,確定屬性所有子集的閉包可能是一項複雜的任務。本文探討如何在 PHP 中有效率地尋找不重複子集。
定義陣列
我們定義陣列$ATTRIBUTES 來表示屬性集:
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
子集產生
子集。 >function powerSet(array $array) : array { // Start with the empty set $results = [[]]; // Iterate over the array elements foreach ($array as $element) { // Create new combinations by adding the element to existing combinations foreach ($results as $combination) { $results[] = [...$combination, $element]; } } return $results; }
範例用法
[['',''],['A'],['B'],['A','B'],['C'],['A','C'],['B','C'],['A','B','C'],['D'],['A','D'],['B','D'],['A','B','D'],... ]
以上是如何在 PHP 中有效率地尋找數組的所有非重複子集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!