我需要获得一个字符串的渐进式单词组合。
E.g。 “这是字符串” 输出:“这是字符串” “这是” “这个字符串” “是字符串” “这个” “是” “字符串”
你知道类似的算法吗? (我需要用php语言) 谢谢;)
答案 0 :(得分:4)
这是解决您问题的简单代码。 我将每个字符串递归地连接到数组中的其余字符串。
$string = "this is a string";
$strings = explode(' ', $string);
// print result
print_r(concat($strings, ""));
// delivers result as array
function concat(array $array, $base_string) {
$results = array();
$count = count($array);
$b = 0;
foreach ($array as $key => $elem){
$new_string = $base_string . " " . $elem;
$results[] = $new_string;
$new_array = $array;
unset($new_array[$key]);
$results = array_merge($results, concat ($new_array, $new_string));
}
return $results;
}
答案 1 :(得分:1)