gpt4 book ai didi

php - 在 PHP 中查找数组的子集

转载 作者:可可西里 更新时间:2023-10-31 22:05:38 25 4
gpt4 key购买 nike

我有一个具有属性 (A B C D) 的关系模式。我也有一套功能依赖。

现在我需要确定 R 属性的所有可能子集的闭包。那就是我被困的地方。我需要学习如何在 PHP 中查找子集(非重复)。

我的数组是这样存储的。

$ATTRIBUTES = ('A', 'B', 'C', 'D').

所以我的子集应该是

$SUBSET = ('A', 'B', 'C', 'D', 'AB', 'AC', AD', 'BC', 'BD', 'CD', 'ABC', 'ABD', 'BCD', 'ABCD')

代码不应该很大,但出于某种原因我无法理解它。

最佳答案

使用 php array_merge 我们可以得到一个漂亮的短 powerSet 函数

function powerSet($array) {
// add the empty set
$results = [[]];

foreach ($array as $element) {
foreach ($results as $combination) {
$results[] = array_merge(array($element), $combination);
}
}

return $results;
}

关于php - 在 PHP 中查找数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com