<?php
$array = [1,1,1,2,2,3,3,1,1,2,2,3];
$result = [];
$carry = [];
foreach ($array as $value) {
    if ($carry && key($carry) === $value) {
        ++$carry[$value];
    } else {
        unset($carry);
        $carry = [$value => 1];
        $result[] =& $carry;
    }
}
unset($carry);
print_r($result);