寻找PHP拆分和组合功能的改进

时间:2011-10-21 09:54:26

标签: php arrays split combinations

假设我有一个这样的字符串:

ABC.DEF.GHI.JKL(此字符串在点之间可以有任意长度和字符数量)

我想将以下组合添加到数组中 ABC
ABC.DEF
ABC.DEF.GHI
ABC.DEF.GHI.JKL

所以基本上字符串应该用点字符分割,然后组合各个子字符串。

我已经有了一个功能,但在我看来,这似乎太复杂了,无法实现结果。

$myarray = array();
$split = explode('.', 'that.string.with.dots');
$string = '';
for ($i = 0; $i < count($split); $i++) {
    $string .= $split[$i];
    myarray[] = $string;
    $string .= '.';
}

有关改进此事的任何建议吗?

感谢
迈克尔

2 个答案:

答案 0 :(得分:1)

也许这就是:

$split = explode('.', 'that.string.with.dots');
for ($i = 1; $i < count($split); $i++) {
    $split[i] = $split[$i-1] . '.' . $split[i];
}

它只是将当前与前一个结合起来。

答案 1 :(得分:0)

我觉得你问是否有一个PHP函数可以通过单个函数调用来实现这个结果,但我认为没有。> / / p>

你可以像pritaeas在他的回答中那样重写代码,删除两行代码,但它仍然是相同的概念。