3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array('a','b','c','d','e','f','g','h','i','j','k','l'); $result = array(); $prev_value = array('value' => null, 'amount' => null); foreach ($arr as $val) { if ($prev_value['value'] != $val) { unset($prev_value); $prev_value = array('value' => $val, 'amount' => 0); $result[] =& $prev_value; } $prev_value['amount']++; } print_r($result);

preferences:
69.53 ms | 402 KiB | 5 Q