Developers use the array_count_values function in PHP to find how many times each value appears in an array.
Table of Content
What is the array_count_values Function in PHP?
The array_count_values function in PHP counts how many times a value exists inside an array. It works only with values that can act as keys. It does not count objects or arrays because keys must be scalar values.
The syntax looks like this:
array_count_values(array $array): array
It accepts one parameter, which is the array. It returns an array where keys are unique values from the input and values are the count of how many times they appear.
Here is a quick example:
$nums = [1, 2, 2, 3, 3, 3];
print_r(array_count_values($nums));
The output:
Array
(
[1] => 1
[2] => 2
[3] => 3
)
This example shows you:
- One appears once.
- Two appear twice.
- Three appear three times.
Here is another example with a mixed array:
$data = ["apple", "apple", 10, 10, 10, "banana"];
print_r(array_count_values($data));
The output:
Array
(
[apple] => 2
[10] => 3
[banana] => 1
)
This result shows that the function can work with both string values and numbers.
The Differences Between array_count_values and count in PHP
The count function in PHP tells you how many elements exist in an array. The array_count_values function tells you how many times each unique value repeats.
Feature | count | array_count_values |
---|---|---|
Purpose | Number of elements | Count of each value |
Return | Integer | Array |
Input | Array | Array |
Use count when you only want the size of the array. Use array_count_values when you want to group values and know how often each one repeats.
Examples
Count Values in a Simple Array:
$letters = ["a", "b", "a", "c", "b", "a"];
print_r(array_count_values($letters));
The output:
Array
(
[a] => 3
[b] => 2
[c] => 1
)
This example shows how the function counts repeated letters inside a simple array and outputs the number of times each one appears.
Count Mixed Numbers and Strings:
$data = [1, "1", 1, 2, "apple", "apple", 2];
print_r(array_count_values($data));
The output:
Array
(
[1] => 3
[2] => 2
[apple] => 2
)
In this example the function counts numbers and strings. It treats one and “1” as two different keys, and it shows how string values can repeat like numbers.
Use with Large Array:
$items = array_merge(range(1, 5), [3, 3, 4, 4, 4, 5, 5, 5, 5]);
print_r(array_count_values($items));
The output:
Array
(
[1] => 1
[2] => 1
[3] => 3
[4] => 4
[5] => 5
)
Here, the function counts values in a larger array that contains a range of numbers and extra repeated values, so the output highlights how counts grow with more data.
Count Results then Filter:
$data = ["apple", "apple", "banana", "banana", "banana", "orange"];
$counts = array_count_values($data);
foreach ($counts as $fruit => $count) {
if ($count > 2) {
echo $fruit . " repeats " . $count . " times\n";
}
}
The output:
banana repeats 3 times
This example shows how you can use the result of array_count_values inside a loop. It prints only the items that repeat more than two times.
Wrapping Up
You learned how the array_count_values function works and how it differs from count. You also saw how to use it with mixed values and advanced cases.
Here is a quick recap:
- array_count_values returns counts of each value in an array.
- count returns only the size of the array.
- Use array_count_values when you need to group and count values.
FAQs
What does PHP array_count_values do with an array?
array_count_values()
function in PHP counts how many times
each value appears in an array. It returns an associative array.
$nums = array(1, 2, 2, 3, 3, 3);
$result = array_count_values($nums);
print_r($result);
Output:
Array
(
[1] => 1
[2] => 2
[3] => 3
)How can I use array_count_values with strings in PHP?
array_count_values()
on an array of strings to
count repeated words or names.
$words = array("apple","banana","apple","orange","banana","apple");
$result = array_count_values($words);
print_r($result);
Output:
Array
(
[apple] => 3
[banana] => 2
[orange] => 1
)
What is the difference between count and array_count_values?
count()
returns the total number of elements in an array.array_count_values()
counts how many times each value appears.
$items = array("pen","pen","book","pencil");
echo count($items);
// Output: 4
print_r(array_count_values($items));
// Output: Array ( [pen] => 2 [book] => 1 [pencil] => 1 )
Similar Reads
If you start working with PHP, it won't take you that long to figure out that strings are everywhere. Besides…
The callback in PHP lets you pass functions as arguments and reuse code. It helps you to control how tasks…
Essentially, “require” and “require_once” are directives in PHP to include and evaluate a specific file during the execution of a…
PHP static method lets you call functions without an object. In this article, we will cover the following topics: The…
Understanding PHP syntax is like the basics of any language—PHP syntax defines the rules for writing code that a server…
Early PHP scripts often failed because of extra spaces or line breaks in strings. These issues came from user input…
In this tutorial, you will learn how to install PHP on your Operating system such as Ubuntu, Windows, or macOS.…
User input can be risky. Hackers exploit weak validation to inject malicious data. PHP filter_input() helps you sanitize and validate…
PHP comparison operators allow you to compare values in many ways, and this simplifies the process of checking whether values…
The PHP $_GET— is a tiny part, but strong in the data processing using the URL. There is a site that…