Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP - count_chars() Function



The PHP count_chars() function is used to retrieve information about characters used in a string.

This function accepts a parameter named "mode", which consists of various values (i.e., 0, 1, 2, 3). If the mode value is 0, 1, or 2, it will return an array. If the mode value is 3, it will return a string containing all unique characters from the input string.

Syntax

Following is the syntax of the PHP count_chars() function −

count_chars(string $str, int $mode = 0): array|string

Parameters

This function accepts the following parameters, which are listed below −

  • str: It represents the examined string.
  • mode: A mode that determines what kind of data is returned.

The mode can be one of the following values:

  • Mode 0 (default): Returns an array with the byte-value as key and the frequency of every byte as value.
  • Mode 1: Returns same data as Mode 0 but only includes byte-values with a frequency greater than zero.
  • Mode 2: Returns same data as Mode 0 but only includes byte-values with a frequency equal to zero.
  • Mode 3: Returns a string containing all unique characters (character that appears at least once).

Return Value

This function returns either an array (if $mode is 0, 1, or 2) or a string (if $mode is 3).

Example 1

If the mode parameter is omitted in the PHP count_chars() function, It will use the default mode, 0:

<?php
   $str = "Hi";
   echo "The given string is: $str";
   echo "\nThe info about characters: ";
   #using count_chars() function
   print_r(count_chars($str));
?>

Output

The above program produces the following output −

The given string is: Hi
The info about characters: Array
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
	.........
    [253] => 0
    [254] => 0
    [255] => 0
)

Example 2

Passing both parameters (str, $mode = 1) to retrieve character information in a string.

Here is another example of using the PHP count_chars() function. This function is used to retrieve information about the characters used in the string "Welcome to TP" using mode value 1:

<?php
   $str = "Welcome to TP";
   echo "The given string is: $str\n";
   $mode = 1;
   echo "The given mode is: $mode";
   echo "\nThe characters info used in string: \n";
   foreach (count_chars($str, $mode) as $i => $val) {
      echo "There were $val instance(s) of \"".chr($i)."\" in the string.\n";
   }
?>

Output

After executing the above program, the following output will be displayed −

The given string is: Welcome to TP
The given mode is: 1
The characters info used in string:
There were 2 instance(s) of " " in the string.
There were 1 instance(s) of "P" in the string.
There were 1 instance(s) of "T" in the string.
There were 1 instance(s) of "W" in the string.
There were 1 instance(s) of "c" in the string.
There were 2 instance(s) of "e" in the string.
There were 1 instance(s) of "l" in the string.
There were 1 instance(s) of "m" in the string.
There were 2 instance(s) of "o" in the string.
There were 1 instance(s) of "t" in the string.

Example 3

When you pass mode = 3, it returns a "string" consisting of all unique characters in the input string, with each character appearing only "once", in the same order they first appear in the string −

<?php
   $str = "Hello Word";
   echo "The given string is: $str";
   $mode = 3;
   echo "\nThe given mode is: $mode";
   echo "\nThe info about characters: ";
   #using count_chars() function
   var_dump(count_chars($str,$mode));
?>

Output

Following is the output of the above program −

The given string is: Hello Word
The given mode is: 3
The info about characters: string(8) " HWdelor"
php_function_reference.htm
Advertisements