需要字符串与PHP中的空间形成 [英] Need string formation with space in php

查看:62
本文介绍了需要字符串与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";
}

https://3v4l.org/QVIKG

这篇关于需要字符串与PHP中的空间形成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆