Home >Backend Development >PHP Problem >How to count the same data type in an array in php
In PHP, counting the number of the same data type in an array is a very common requirement. For example, count the number of integer type elements in an array, or count the number of occurrences of string type elements in an array. This article will introduce the method of implementing the same data type of statistical array in PHP.
Method 1: Use count and is_numeric functions
First, we can use PHP's built-in count function to get the array length, and then use the is_numeric function to determine whether the element is a numeric type. The code is as follows:
function countNumerics($arr) { $count = 0; foreach ($arr as $el) { if (is_numeric($el)) { $count++; } } return $count; }
The above code uses a foreach loop to traverse each element in the array, and uses the is_numeric function to determine whether the element is a numeric type. If so, increase the value of the $count variable. Finally, just return the $count variable. This function can only count the number of elements of numeric types. If you want to count the number of elements of other types, you need to modify the is_numeric function to be a judgment function for other types.
Method 2: Use array_filter and gettype functions
Another method is to use the array_filter function and gettype function in PHP. The array_filter function can be used to filter elements in an array, and the gettype function can obtain the type of elements. The code is as follows:
function countType($arr, $type) { return count(array_filter($arr, function ($el) use ($type) { return gettype($el) == $type; })); }
The above code first calls the array_filter function to filter out all elements of type $type, and then uses the count function to obtain the filtered array length.
Method 3: Use array_reduce and gettype functions
Another method is to use array_reduce function and gettype function. The array_reduce function can be used to execute a callback on all elements of an array, reducing them to a single value. The code is as follows:
function countType($arr, $type) { return array_reduce($arr, function ($count, $el) use ($type) { return $count + (gettype($el) == $type); }, 0); }
The above code uses the array_reduce function to traverse each element in the array. If the type of the element is $type, add 1 to the $count variable. Finally, just return the $count variable.
Summary
The above are three methods for counting the same data type of arrays in PHP. Each of these three methods is different, and which one you choose depends on your specific needs and coding style. If you only need to count the number of elements of one data type, method one is a simple solution. If you need to calculate multiple types, or want a clearer code structure, you can choose method two or three.
The above is the detailed content of How to count the same data type in an array in php. For more information, please follow other related articles on the PHP Chinese website!