Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php字符串中实现这一点,以bbbvvzzxxc=>;3v4v2z2xc_Php - Fatal编程技术网

如何在php字符串中实现这一点,以bbbvvzzxxc=>;3v4v2z2xc

如何在php字符串中实现这一点,以bbbvvzzxxc=>;3v4v2z2xc,php,Php,如何使用php实现php字符计数: 输入:BBBVVVZXXC 输出:3b4v2z2xc 我尝试以下代码: $str = "aabbbccaaaac"; $arr1 = str_split($str); $count=1; foreach($arr1 as $key=>$char) { if($key==0){ $pre=$char; } if($pre==$char){ $count++; }

如何使用php实现php字符计数:

输入:BBBVVVZXXC

输出: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;  
    }
         
}
但不起作用:


设置字符计数很简单

您是想用此代码压缩字符串,然后再对其进行解压缩?还是只是一个练习脚本?为什么它是
3v
而不是
3b
?这称为“运行长度编码”。试着用谷歌搜索,“不工作”有点宽泛——你试过调试这个问题吗?这看起来是学习一些测试驱动开发的一个很好的练习
$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;