2016-04-28 111 views
0

比方說,我有一個動態的字符串是這樣的: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。

回答

2

在這裏你去:

<?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

1

您準備的解決方案:

<?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