📜  PHP | count_chars()函数(1)

📅  最后修改于: 2023-12-03 15:18:21.877000             🧑  作者: Mango

PHP | count_chars()函数

count_chars()函数是一个PHP内置函数,用于返回字符串中每个字符的出现次数及其对应的ASCII码值。该函数可以返回两种类型的结果:返回字符串中所有字符的出现次数,或者返回仅包含出现过的字符及其对应出现次数的关联数组。

语法
count_chars(string $string, int $mode = 0): mixed

count_chars()函数接受两个参数:

  1. $string:必需。要计数的字符串。
  2. $mode:可选。指定返回类型。默认为0,表示返回字符串中所有字符的出现次数;如果设置为1,则函数返回一个仅包含出现过的字符及其对应出现次数的关联数组。
返回值

如果 $mode 参数为0,则 count_chars() 函数返回一个长度为256的整数数组。数组的每个元素对应一个ASCII码值,其值则是该字符在 $string 中出现的次数。

如果 $mode 参数为1,则 count_chars() 函数返回一个关联数组,其中每个键都是出现过的字符的ASCII码值,对应的值表示该字符在 $string 中出现的次数。

使用示例

下面是一个简单的使用示例,演示如何使用 count_chars() 函数返回所有字符的出现次数和所有出现过的字符及其出现次数:

<?php
$string = "Hello, World! How are you today?";
$count_all = count_chars($string);
$count_specific = count_chars($string, 1);

print_r($count_all); // 输出每个字符的出现次数
print_r($count_specific); // 输出仅包含出现过的字符及其出现次数的关联数组
?>

输出如下:

Array
(
    [32] => 6
    [33] => 1
    [39] => 1
    [44] => 1
    [46] => 1
    [72] => 1
    [87] => 1
    [97] => 2
    [100] => 1
    [101] => 2
    [108] => 3
    [111] => 4
    [114] => 2
    [116] => 2
    [117] => 1
    [119] => 1
    [121] => 1
)
Array
(
    [32] => 6
    [33] => 1
    [39] => 1
    [44] => 1
    [46] => 1
    [72] => 1
    [87] => 1
    [97] => 2
    [100] => 1
    [101] => 2
    [108] => 3
    [111] => 4
    [114] => 2
    [116] => 2
    [117] => 1
    [119] => 1
    [121] => 1
)

上述示例中,$string 变量包含了一个字符串,而 $count_all$count_specific 分别调用了 count_chars() 函数来返回该字符串中所有字符的出现次数和所有出现过的字符及其出现次数。变量值输出后,可以看到 $count_all 返回的是所有字符的出现次数,而 $count_specific 则返回了仅包含出现过的字符及其出现次数的关联数组。

注意事项
  • count_chars() 函数在计数时会自动忽略所有非ASCII字符。因此,如果你需要数数一个包含非ASCII字符的字符串,请先手动将其转换为ASCII字符,例如使用 iconv() 函数。
  • 如果你只需要获取一个字符串中的所有不同字符,而不是每个字符的出现次数,那么可以尝试使用 array_unique() 函数,结合 str_split() 函数使用。