Content · Programming · PHP

PHP count_chars() Function: Usage and Examples

Learn how PHP count_chars works with practical examples, important behavior, relevant alternatives and common mistakes.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

Counts byte occurrences and can return a frequency map or filtered bytes.

What Is count_chars() in PHP?

Counts byte occurrences and can return a frequency map or filtered bytes.

Its syntax is:

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

Parameters:

  • $string — Accepted as string; required argument.
  • $mode — Accepted as int; optional default 0.

Return type: array|string. Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Availability: Core PHP.

Example 1: Basic Usage

<?php

print_r(count_chars("banana", 1));

Output:

Array
(
    [97] => 3
    [98] => 1
    [110] => 2
)

Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Example 2: A Different Input

<?php

echo count_chars("abca", 3);

Output:

abc

Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Practical Example: Applying It in a Program

<?php

$text = "level"; $frequencies = count_chars($text, 1); foreach ($frequencies as $byte => $frequency) { echo chr($byte) . ": " . $frequency . PHP_EOL; }

Output:

e: 2
l: 2
v: 1

Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Important Behavior and Edge Cases

  • Key behavior: Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.
  • Environment: Core PHP.

Comparison With Related Functions

FunctionPurpose
count_chars()Counts byte occurrences and can return a frequency map or filtered bytes.
substr_count()substr_count() counts one particular substring; count_chars() counts byte occurrences across a string.

Common Beginner Mistakes

MistakeCorrect Approach
Ignoring this behavior: Counts bytes, not Unicode charactersCounts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Key Takeaways

  • Counts byte occurrences and can return a frequency map or filtered bytes.
  • Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.
  • Core PHP.

Summary: Counts bytes, not Unicode characters. Modes 0–2 return arrays; modes 3–4 return strings.

Share this resourceSend this page to someone who may find it useful.