2010-03-20 2 views

ответ

1
function foo($str) { 
    $s = str_split($str); 
    if (sizeof($s) > 0) { 
     $current = $s[0]; 
     $output = $current; 
     $count = 0; 
     foreach ($s as $char) { 
      if ($char != $current) {   
       $output .= $count; 
       $current = $char; 
       $output .= $current; 
       $count = 1; 
      } 
      else { 
       $count++; 
      } 
     } 
     $output .= $count; 
     return $output; 
    } 
    else 
     return ""; 
} 
2

substr_count ваш друг

или, скорее, это

function foo($str) { 
    $out = ''; 
    preg_match_all('~(.)\1*~', $str, $m, PREG_SET_ORDER); 
    foreach($m as $p) $out .= $p[1] . strlen($p[0]); 
    return $out; 
} 
+0

на самом деле не потому, что он вернет $ x = A6B2, что не совпадает с $ x = 'A4B1A2'; – Val

Смежные вопросы