我正在寻找一个PHP算法或只是伪代码来获取字符串的所有排列,但不重复字符和生成的字符串的长度可以从1变化到输入的最大长度。例:
输入:1 2 3
可能的组合:
1
1 2 /(与2 1相同,因此不得计算)
1 3
1 2 3
2
2 3
3
干得好 :
function pc_array_power_set($array) {
// initialize by adding the empty set
$results = array(array());
foreach ($array as $element)
foreach ($results as $combination)
array_push($results, array_merge(array($element), $combination));
return $results;
}