- var_dump: documentation ( source)
- array_splice: documentation ( source)
- array_search: documentation ( source)
- array_shift: documentation ( source)
<?php
function chunkByDelimiter(array $data, $delimiter='-')
{
$result = [];
while(false!==($pos=array_search($delimiter, $data)) &&
$segment = array_splice($data, 0, $pos))
{
$result[] = $segment;
array_shift($data);
}
return $result;
}
var_dump(chunkByDelimiter(['foo', '-', 'bar', 'baz', '-', 'fee', 'bee', '-']));