Maison > Article > développement back-end > Comment puis-je générer efficacement tous les sous-ensembles uniques d'un tableau en PHP ?
Recherche de sous-ensembles d'un tableau en PHP
La tâche consistant à trouver des sous-ensembles uniques d'un tableau peut être particulièrement difficile lorsqu'il s'agit d'un grand nombre d'éléments. Nous cherchons à créer un ensemble complet de sous-ensembles, en garantissant qu'aucune répétition ne se produise.
Par exemple, étant donné un tableau d'attributs {A, B, C, D}, nous souhaitons générer tous les sous-ensembles possibles, y compris les éléments individuels. et leurs combinaisons : {A, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, BCD, ABCD}.
Utilisation de la fusion de tableaux pour la génération d'ensembles de puissance
PHP fournit une solution compacte pour la génération d'ensembles de puissance à l'aide de la fonction 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);
Le tableau $SUBSETS résultant contiendra tous les sous-ensembles non répétitifs du tableau d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!