$string='to kill a mocking bird';
需要输出如下格式
输出:
'"要杀死一只嘲弄的鸟", " Tokill a mocking bird", " Tokilla嘲笑鸟", " Tokillamocking bird", " Tokillamockingbird&#34 ;, ,"杀死一只模仿鸟" ,"杀死amockingbird" ,"对killamockingbird"';
我使用下面的脚本
$array = is_string($arg) ? str_split($arg) : $arg;
if(1 === count($array))
return $array;
$result = array();
foreach($array as $key => $item)
foreach(permute(array_diff_key($array, array($key => $item))) as $p)
$result[] = $item .' '. $p;
return $result;
答案 0 :(得分:0)
我使用explode使它成为一个我可以循环的数组 在循环中我使用implode来添加空格和array_slice来选择相应的单词来加入/添加空格 我向前循环一次,然后向后循环以获得所有组合。
$str='to kill a mocking bird';
$arr = explode(" ", $str);
Echo $str."\n";
For($i=1;$i<count($arr);$i++){
Echo implode("", array_slice($arr, 0,$i)) . implode(" ", array_slice($arr, $i)) . "\n";
}
For($i=count($arr)-1;$i>1;$i--){
Echo implode(" ", array_slice($arr, 0, $i)) . implode("", array_slice($arr,$i, count($arr))) . "\n";
}