2016-04-24 33 views
0

我正在寻找一种PHP中的算法来输出所有可能的点。产生我们可以放在任何地方的词,但现在允许彼此重复两个点。例如Shaghayegh 输出象下面这样:这是不允许的使用点生成所有可能性

S.haghayegh 
Sh.aghayegh 
Shag.hayegh 
Sh.agha.ye.gh 

输出:

s..haghayegh (repeat dots right after each other) 
.shaghayegh (put dots at first of word) 
shaghayegh. (put dots at end of word) 
+1

你可能必须自己编写它。欢迎来到堆栈溢出!请参阅[如何问](http://stackoverflow.com/questions/how-to-ask)和[完美的问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the - 完美-问题/)。花点时间阅读帮助中心的[编辑帮助](http://stackoverflow.com/editing-help)。 – JimL

+0

这会很容易! –

+0

看看这个:http://stackoverflow.com/questions/36791679/php-array-push-element-at-an-index-and-move-the-previous-element/36792040#36792040 –

回答

0

请参阅我的this answer,我已经解决了:

<?php 
    header("Content-type: text/plain"); 
    $var = "Shaghayegh"; 
    for ($i = 1; $i < strlen($var); $i++) { 
     $avar = str_split($var); 
     array_splice($avar, $i, 0, array(".")); 
     echo "$i: " . implode("", $avar) . "\n"; 
    } 
?> 

输出将是:

1: S.haghayegh 
2: Sh.aghayegh 
3: Sha.ghayegh 
4: Shag.hayegh 
5: Shagh.ayegh 
6: Shagha.yegh 
7: Shaghay.egh 
8: Shaghaye.gh 
9: Shaghayeg.h 

如果我将其更改为Praveen,它提供了:

1: P.raveen 
2: Pr.aveen 
3: Pra.veen 
4: Prav.een 
5: Prave.en 
6: Pravee.n 
+0

嗨,对不起,这不是我的回答!我还需要包括以下输出:S.h.a.g.hayegh,S.hagh.ayegh,S.ha.ghaye.gh,在每个地方随机放置点 – user3221719

+0

@ user3221719包含什么? –

+0

编辑几乎是一个新问题。你需要为此写一个新问题。因此,请使用[提问新问题](/问题/问题)功能,并且由于此答案解决了您的查询,请点击勾号按钮接受答案。 –

相关问题