【原创】计算字符串中出现的次数和位置
<?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);