How to query the number of identical values in an array in php

PHPz
Release: 2023-04-19 13:39:30
Original
953 people have browsed it

In PHP development, array processing is a very common task, and for a large and messy array, we may need to query the number of identical values in it. This article will introduce in detail how to use PHP to query the number of identical values in an array.

1. Use the array_count_values() function

PHP provides a very convenient function array_count_values(), which can count the number of occurrences of each element in the array and return an associative array. The key represents the value in the array, and the value represents the number of occurrences of the value in the array. We can simply count the number of identical values in an array based on this principle.

The following is an example code that uses the array_count_values() function to count the number of identical values in an array:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana'); $countArr = array_count_values($arr); foreach($countArr as $key => $value) { echo $key . ':' . $value . '
'; }
Copy after login

The output result is:

apple:3 banana:2 orange:1
Copy after login

2. Use foreach loop to implement

We can also use a foreach loop to traverse the array, take out each element one by one, and count the number of times it appears in the array. The code is as follows:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana'); $countArr = array(); foreach($arr as $val) { if(isset($countArr[$val])) { $countArr[$val]++; } else { $countArr[$val] = 1; } } foreach($countArr as $key => $value) { echo $key . ':' . $value . '
'; }
Copy after login

The output result is the same as above.

3. Use the array_unique() function and array_diff_assoc() function to achieve

Another way is to combine the array_unique() and array_diff_assoc() functions to achieve it, that is, first use the array_unique() function to Repeat, then use the array_diff_assoc() function to obtain the difference between the original array and the array after deduplication, and finally add the result as a key to an empty array, and count the number of occurrences. The code is as follows:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana'); $uniqueArr = array_unique($arr); $diffArr = array_diff_assoc($arr, $uniqueArr); $countArr = array(); foreach($diffArr as $val) { if(isset($countArr[$val])) { $countArr[$val]++; } else { $countArr[$val] = 1; } } foreach($countArr as $key => $value) { echo $key . ':' . $value . '
'; }
Copy after login

The output result is the same as above.

Summary

This article introduces three methods to query the number of identical values in a PHP array, including using the array_count_values() function, using the foreach loop implementation, and using the array_unique() function and array_diff_assoc( ) function implementation. For smaller arrays, either method will work; for larger arrays, the third method will be faster. We can choose a method that suits us according to the actual situation to query the same value in the array.

The above is the detailed content of How to query the number of identical values in an array in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!