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): arrayIt 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
PHP static property helps you manage shared data across instances, but can lead to hidden state changes. In this article,…
If you are working with PHP and MySQL, one of the first tasks you may need is to create a…
PHP developers copied and pasted code across multiple files before inheritance came, which made updates difficult. They updated functions in…
One of the important tasks is retrieving documents from a collection. MongoDB help us to make this process, but understanding…
The PHP singleton design pattern makes sure that the class has only one instance and provides a global access point…
In regard to the use of constants in PHP, clear understanding of their definition and use could be critical in…
You can use your Raspberry Pi as a personal web server or tool that runs in your home. You do…
You may need to cut the last character from a string if it shows by mistake in PHP. That may…
As you are entering into PHP, it would be essential to understand how logical operators work. The PHP AND operator…
Filtering data is a big part of getting the right information to show up. That is where the WHERE clause…