您可以在其他场景中重复使用的东西:(总是更好的 IMO)。
虽然可能不是最优雅的解决方案,但这确实遵循其他 PHP 核心函数的一般概念语法......
无论如何...这使用递归。它很灵活,因为它允许您指定块的大小(以防您想在以后或其他项目中这样做)。我这样做更像是一个个人挑战,看看我能想出什么。
<?php
function chunk_explode($glue=' ',$pieces='',$size=2,$final=array()) {
if(!is_string($pieces) && !is_array($pieces))
return false;
if(is_string($pieces))
$pieces = explode($glue,$pieces);
$num_pieces = sizeof($pieces);
if($num_pieces <= 0)
return $final;
if($num_pieces >= $size) {
$arr_chunk = array_chunk($pieces, $size);
array_push($final,implode($glue,$chunk[0]));
for($i=0;$i<=$size;$i++) { array_shift($pieces); }
return chunk_explode($glue,$pieces,$size,$final);
}
array_push($final,implode($glue,$pieces));
return $final;
}
$string = "This is my test case for an example.";
chunk_explode(' ',$string,3);
如果此chunk_explode
功能很糟糕,请告诉我,以便我从错误中吸取教训。