PHP Выборка диапазона из массива

Есть массив

$array = ['a','b','a','a','b','a','a','a','a'];

Как его разделить на несколько массивов по делителю - значению массива. Должно получиться примерно так:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )
        
    [1] => Array
        (
            [0] => a
            [1] => a
            [2] => b
        )

    [2] => Array
        (
            [0] => a
            [1] => a
            [2] => a
            [3] => a
        )

)

То есть нужна выборка массива до того, как встретим определенное значение.


Ответы (2 шт):

Автор решения: teran

как-нибудь так будет

$data = [....];
$needle = 'b';
$idx = 0;
$result = [];
foreach ($data as $value) {
   $result[$idx][] = $value;
   $idx += ($value == $needle);
}
→ Ссылка
Автор решения: David Meyster
$array = ['a','b','a','a','b','a','a','a','a'];
$needle = 'b';
$idx = 0;
$result = [];
foreach ($array as $value) {
   $result[$idx][] = $value;
   $idx += ($value == $needle);
}
→ Ссылка