So generieren Sie alle Kombinationen einer bestimmten Größe aus einem einzelnen Satz in PHP
Gegeben ein Array von Zeichen und eine gewünschte Kombinationsgröße, Die Aufgabe besteht darin, alle möglichen Kombinationen dieser bestimmten Größe zu generieren. In diesem Artikel wird ein Algorithmus untersucht, der dies mithilfe von PHP erreicht, und ihn von Permutationen unterscheidet, bei denen sich wiederholende Zeichen nicht zulässig sind.
Algorithmus
Der Algorithmus basiert auf Rekursion. Hier ist eine detaillierte Erklärung:
Beispielimplementierung
Unten ist ein funktionierendes Beispiel in PHP:
function sampling($chars, $size, $combinations = array()) { if (empty($combinations)) { $combinations = $chars; } if ($size == 1) { return $combinations; } $new_combinations = array(); foreach ($combinations as $combination) { foreach ($chars as $char) { $new_combinations[] = $combination . $char; } } return sampling($chars, $size - 1, $new_combinations); } // Example $chars = array('a', 'b', 'c'); $output = sampling($chars, 2); var_dump($output);
Ausgabe:
array(9) { [0]=> string(2) "aa" [1]=> string(2) "ab" [2]=> string(2) "ac" [3]=> string(2) "ba" [4]=> string(2) "bb" [5]=> string(2) "bc" [6]=> string(2) "ca" [7]=> string(2) "cb" [8]=> string(2) "cc" }
Das obige ist der detaillierte Inhalt vonWie generiert man in PHP alle Kombinationen einer bestimmten Größe aus einem einzigen Satz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!