function get_num($str){
$str_arr = str_split($str);// 字符串转数组
$x = '';// 字符串转为数组,数组中n-1位置的值
$string = '';// 结果字符串
foreach ($str_arr as $k => $v) {
if($x == $v){
$sub_str = substr($string, -2);
$sub_str_arr = str_split($sub_str);
$z = intval($sub_str_arr[1]) + 1;
$string = substr($string, 0, -2).$sub_str_arr[0].$z;
}else{
$z = 1;
$string = $string.$v.$z;
}
$x = $v;
}
return $string;
}

$str = 'abbaacccddddbbbf';
$res = get_num($str);
echo "<pre>";
var_dump($res);// a1b2a2c3d4b3f1