也就是说,依据字符串来排查反复间断字符串呈现的次数+指标字符串,a先呈现了三次,那么3a,接着b呈现呢三次,3a3b,c间断呈现四次。3a3b4c.....
第一种
<?php$str = "aaabbbccccaaddfffffasdffdfdf";$strlen= strlen($str);$num = 0;$return_str = '';for($i = 0; $i < $strlen; $i++){ if($str{$i} == $str{$i+1}){ $num++; }else{ $return_str .= ($num+1) .$str{$i}; $num= 0; } }echo $return_str;?>
第二种
<?php$str = "aaabbbccccaaddfffffasdffdfdf";function resetStr($str){ $strlen = strlen($str); if($strlen <= 1){ return $str; } $return_str = ''; $item = $str[1]; $j = 0; for ($i = 0;$i<$strlen;$i++){ if($item == $str[$i]){ $j++; }else{ if($i != 0){ $return_str .= $j.$item; } $j=1; $item = $str[$i]; } if($i == $len-1){ $return_str .= $j.$item; } } return $return_str;}echo resetStr($str);?>
第三种
<?php$str = "aaabbbccccaaddfffffasdffdfdf";$strlen = strlen($str);$arr = [];$return_str = '';for ($i = 0; $i < $strlen; $i++) { if ($i == 0) { $arr[] = $str{$i}; } else { if (in_array($str{$i}, $arr)) { $arr[] = $str{$i}; } else { $return_str .= count($arr) . $arr[0]; $arr = []; $arr[] = $str{$i}; } } if ($i == $strlen - 1) { $return_str .= count($arr) . $arr[0]; }}echo $return_str;?>