php字符串统计

2021-11-08
// 统计字符串$needle在字符串$haystack中出现的次数,$offset为查询开始的位置,$length表示查询的长度,为负数时从$haystack的末尾开始统计。查询区分大小写
substr_count($haystack, $needle, $offset = 0, $length = ?);

// 统计字符串$needle在字符串$haystack中出现的次数;$encoding为字符串编码
// 多字节字符串查询,例如中文
mb_substr_count($haystack, $needle, $encoding = mb_internal_encoding())

// 统计$string中每个字节值(0-255)出现的次数
$modes = [
    0,  // 返回值以每个字节值作为键名,出现次数作为值的数组
    1,  // 返回值以每个字节值作为键名,出现次数作为值的数组,只列出出现次数大于零的字节值
    2,  // 返回值以每个字节值作为键名,出现次数作为值的数组,只列出出现次数等于零的字节值
    3,  // 返回由所有使用了的字节值组成的字符串
    4,  // 返回由所有未使用的字节值组成的字符串
];
count_chars($string, $mode = 0);

// 统计$string中单词的数量,$charlist中的字符串视出现在单词中时,单词不会被分开统计
$formats = [
    0,  // 返回单词数量
    1,  // 返回一个包含$string中全部单词的数组
    2,  // 返回关联数组。数组的键是单词在$string中出现的数值位置,数组的值是这个单词
];
str_word_count($string, $format = 0, $charlist = ?);

$str = "Hello fri3nd, you're
       looking          good today!
       look1234ing";
print_r(str_word_count($str, 1, '0..3')); // fri3nd为一个单词
print_r(str_word_count($str, 1));         // fri3nd为俩个单词 fri和nd

// 根据$charset指定的字符集统计字符串$str中出现的字符数
iconv_strlen($str, $charset = ini_get("iconv.internal_encoding"));

 

{/if}