Что-то, что вы можете использовать повторно для других сценариев: (всегда лучше 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
функция отстой, дайте мне знать, чтобы я мог учиться на своих ошибках.