首页 > 解决方案 > 我怎样才能在 php 字符串中实现这一点到 bbbvvvvzzxxc => 3v4v2z2xc

问题描述

如何使用 php 实现 php char 计数:

输入:bbbvvvvzzxxc

输出:3b4v2z2xc

我试试这段代码:

$str = "aabbbccaaaac";
$arr1 = str_split($str);
$count=1;
foreach($arr1 as $key=>$char) {
    if($key==0){
        $pre=$char;   
    }
    if($pre==$char){
        $count++;  
    } else{
        $count=1;
        $pre=$char;
    }
echo $pre.'---'.$char.'__';
    if($pre != $char){
        echo $char. $count   ; 
    } else {
     // echo $char;  
    }
         
}

但不工作:

设置字符数很简单

标签: php

解决方案


$str = "aabbbccaaaac";
$arr1 = str_split($str);
$count=0;
$pre = '';
$result = ''; // our result string
foreach($arr1 as $char){
  
   if($char == $pre){
      $count++;
   }else{
      
      if($count > 0){ // To check whether it was the first iteration
         $result .= $count.$pre;
      }
      $count = 1;
      $pre = $char;
   }
 
}

$result .= $count.$pre; // For last iteration
echo $result;


推荐阅读