Maison > Article > développement back-end > Comment générer toutes les combinaisons à partir d'un tableau 1D en PHP à l'aide d'une recherche récursive en profondeur d'abord ?
Obtention de toutes les combinaisons d'un tableau 1D
La tâche d'assembler toutes les combinaisons possibles à partir d'un tableau unidimensionnel peut être réalisée en utilisant un méthode récursive. Cette approche englobe une approche de recherche approfondie, explorant toutes les combinaisons possibles tout en maintenant l'intégrité de la disposition de chaque élément.
Considérez le code PHP suivant, qui gère efficacement la tâche susmentionnée :
<code class="php"><?php $array = array('Alpha', 'Beta', 'Gamma', 'Sigma'); function depth_picker($arr, $temp_string, &$collect) { if ($temp_string != "") $collect []= $temp_string; for ($i=0, $iMax = sizeof($arr); $i < $iMax; $i++) { $arrcopy = $arr; $elem = array_splice($arrcopy, $i, 1); // removes and returns the i'th element if (sizeof($arrcopy) > 0) { depth_picker($arrcopy, $temp_string ." " . $elem[0], $collect); } else { $collect []= $temp_string. " " . $elem[0]; } } } $collect = array(); depth_picker($array, "", $collect); print_r($collect); ?></code>
Cette implémentation fonctionne en parcourant le tableau d'entrée de manière récursive, en analysant chaque élément et son impact potentiel sur l'ensemble de combinaison global. Lorsqu'un élément est inclus dans la combinaison, un nouveau tableau sans cet élément est créé pour une exploration plus approfondie. Ce processus se poursuit jusqu'à ce que tous les éléments soient examinés et que le spectre complet des combinaisons soit capturé.
En employant cette approche, vous pouvez récupérer avec succès toutes les combinaisons possibles à partir du tableau 1D fourni, satisfaisant ainsi aux exigences de conservation de la séquence d'origine. et présentant des arrangements distincts.
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!