PHP での配列のサブセットの検索
配列の一意のサブセットを見つけるタスクは、多数の配列を扱う場合に特に困難になることがあります。要素の。私たちは、繰り返しが発生しないように、包括的なサブセットのセットを作成することを目指しています。
たとえば、属性の配列 {A、B、C、D} が与えられた場合、個々の要素を含むすべての可能なサブセットを生成したいと考えています。およびそれらの組み合わせ: {A、B、C、D、AB、AC、AD、BC、BD、CD、ABC、ABD、BCD、 ABCD}.
電力セットの生成に配列マージを使用する
PHP は、array_merge 関数を利用して電力セットを生成するためのコンパクトなソリューションを提供します。
function powerSet(array $array) : array { $results = [[]]; foreach ($array as $element) { foreach ($results as $combination) { $results[] = [...$combination, $element]; } } return $results; } // Example usage: $ATTRIBUTES = ['A', 'B', 'C', 'D']; $SUBSETS = powerSet($ATTRIBUTES);
結果の $SUBSETS 配列には、元の配列の非反復サブセットがすべて含まれます。
以上がPHP で配列の一意のサブセットをすべて効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。