需要字符串与PHP中的空间形成 [英] Need string formation with space in php
问题描述
$string='to kill a mocking bird';
需要类似以下格式的输出
Need output like below format
输出:
'杀死一只嘲笑的鸟,
杀死一只嘲笑的鸟,
托基拉模仿鸟,
Tokillamocking鸟,
Tokillamockingbird,
,杀死一只模仿鸟
,要杀死模仿鸟
, To killamockingbird';
'"To kill a mocking bird", "Tokill a mocking bird", "Tokilla mocking bird", "Tokillamocking bird", "Tokillamockingbird", ,"To kill a mockingbird" ,"To kill amockingbird" ,"To 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;
推荐答案
我使用explode使其成为一个数组,
在循环中,我使用implode添加空间,并使用array_slice选择相应的单词以在它们之间添加/添加空间。
我循环一次向前和向后一次以获取全部组合。
I use explode to make it an array that I can loop through.
In the loop I use implode to add space and array_slice to select the corresponding words to join/add space between.
I loop once forward and once backwards to get all combinations.
$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";
}
这篇关于需要字符串与PHP中的空间形成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!