【原创】计算字符串中出现的次数和位置

【原创】计算字符串中出现的次数和位置

<?php
// 字符串
$str = ‘jintiantianqihenqinglangan’;

// 题1:求每个字母出现的次数
$arr = str_split($str);
$res = array();  // 用于存储不同的字母
for($i=0; $i<count($arr); $i++){
    if(isset($res[$arr[$i]])){  // 如果存在,则+1
        $res[$arr[$i]] = $res[$arr[$i]]+1;
    }else // 如果不存在,则赋值为1
        $res[$arr[$i]] = 1;
    }
}
var_dump($res);

// 题2:求an出现的次数和对应位置
// 如果单纯的计算次数,可以使用这个方法:substr_count($str,’an’)
$arr = explode(‘an’,$str);
$pos = array();  // 用来存储位置的
$total = 0;  // 用来计算次数的
$length = 0;  // 用来计算长度的
for($i=0; $i<count($arr); $i++){
    if($arr[$i]){
        $total++;
        $length = $length + mb_strlen($arr[$i]);
        $pos[]  = $length – 1;
        $length = $length + 2;  // an的长度计算进去
    }
}
var_dump($total);
var_dump($pos);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据