我有这样"的字符串0011100001100111 ",我想知道每个序列(的长度00,111,0000,11,00,111),以正确的顺序.
我怎么能用PHP做到这一点?
多亏谁会帮助我.
创建一个循环遍历整个字符串的循环.它将查看字符串中的每个字符并将其与前一个字符进行比较.如果它是相同的,那么它会增加一个计数器,如果它不同,它会将计数器值推到一个数组上并清除计数器.
未经测试的代码:
function countSequenceLengths($str){
$counter = 1;
$lastChar = $str[0];
$ret = array();
for($i=1; $i<=strlen($str); $i++){
if($i<strlen($str) && $str[$i] == $lastChar){
$counter++;
}else{
$ret[] = $counter;
$counter = 1;
$lastChar = $str[$i];
}
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)