给出一个字符串,返回里面连续字母的个数,比如:abbcddde,返回 1a2b1c3de;1234567891011121314151617181920function str($str){ $res = ''; $arr = str_split($str);//把字符串变成数组 $len = count($arr); $key = 0; // key 用来记录下标,为了方便计算前面的数字 for ($i = 0; $i < $len; $i++) { $nk = $i + 1; $v = $arr[$i]; // 俩值不相同时 if ($arr[$i] != $arr[$nk]) { // 重复次数 $num = $nk - $key; $res .= $num . $v; // 不相等时计算出前面的数字 $key = $nk; // 同时 key 下标重新赋值 } } return $res;}