PHP解析字符串拷贝元素

问题描述:

比方说,我有一个动态的字符串是这样的:PHP解析字符串拷贝元素

$string = "ABC-DEF-GHI-JKL"; 

或本

$string = "ABC-DEF-GHI"; 

多变

我想要做的是解析字符串,复制除第一个和最后一个之外的所有元素,如下所示:

ABC-DEF 
DEF-GHI 
GHI-JKL 

或类似这样的

ABC-DEF 
DEF-GHI 

应该是什么这里的逻辑是什么?我怎样才能做到这一点?

PS:我知道我可以使用

explode("-", $string); 

这给了我一个这样的数组:

[0]->ABC 
[1]->DEF 
[2]->GHI 
[3]->JKL 

但我不知道该怎么的foreach此字符串。任何帮助appriciated。

在这里你去:

<?php 

$string = "ABC-DEF-GHI-JKL"; 

$parts = explode("-", $string); 

for ($i = 0; $i < count($parts) - 1; $i ++) { 
     echo $parts[$i] . '-' . $parts[$i + 1] . "\n"; 
} 
+0

哦,我现在看到它。 – FreshPro

您准备的解决方案:

<?php 
$string = "ABC-DEF-GHI-JKL"; 
$stringArray = explode("-", $string); 

for ($i = 0; $i < count($stringArray); $i++) { 
    if ($stringArray[$i + 1] != "") { 
     echo $stringArray[$i] . "-" . $stringArray[$i + 1] . "\n"; 
    } 
} 
?> 

编辑:我忘了补充,请编辑"\n"到任何你需要换行分隔符。

+0

该死,迟到2分钟。 – 2016-04-28 02:02:12

+0

yupp和“E_NOTICE:type 8 - Undefined offset:4”(如果你将它粘贴到phpfiddle中,你可以看到它) – FreshPro

+0

E_NOTICE不是错误,只是通知 – 2016-04-28 02:04:07