php爆炸每个第三个字符实例

stu*_*man 5 php

我怎样才能将每个第三个分号(;)作为一个片段爆炸?

示例数据:$ string = piece1; piece2; piece3; piece4; piece5; piece6; piece7; piece8;

示例输出将是:

$output[0] = piece1;piece2:piece3;

$output[1] = piece4;piece5;piece6;

$output[2] = piece7;piece8;
Run Code Online (Sandbox Code Playgroud)

谢谢!

jW.*_*jW. 7

我相信你可以用正则表达式做一些光滑的东西,但为什么不只是爆炸每个半色,然后一次添加三个.

$tmp = explode(";", $string);
$i=0;
$j=0;

foreach($tmp as $piece) {
   if(! ($i++ %3)) $j++;   //increment every 3 
   $result[$j] .= $piece;
}
Run Code Online (Sandbox Code Playgroud)


cle*_*tus 6

我能想到的最简单的解决方案是:

$chunks = array_chunk(explode(';', $input), 3);
$output = array_map(create_function('$a', 'return implode(";",$a);'), $chunks);
Run Code Online (Sandbox Code Playgroud)