Rechercher des sous-ensembles d'un tableau en PHP
Lorsqu'il s'agit de bases de données relationnelles, déterminer la fermeture de tous les sous-ensembles d'attributs peut être une tâche complexe . Cet article explore comment trouver efficacement des sous-ensembles non répétitifs en PHP.
Définition du tableau
Nous définissons le tableau $ATTRIBUTES pour représenter l'ensemble des attributs :
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
Génération de sous-ensembles
Pour générer tous les sous-ensembles possibles de $ATTRIBUTES, nous exploitons la fonction powerSet :
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; }
Exemple d'utilisation
L'exécution de $subsets = powerSet($ATTRIBUTES) produira les sous-ensembles suivants :
[['',''],['A'],['B'],['A','B'],['C'],['A','C'],['B','C'],['A','B','C'],['D'],['A','D'],['B','D'],['A','B','D'],... ]
Cela démontre comment nous pouvons trouver et stocker efficacement tous les sous-ensembles non répétitifs d'un tableau en PHP. Cette approche fournit une solution robuste pour gérer la fermeture des sous-ensembles d'attributs dans les schémas de bases de données relationnelles.
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!