Array sum in php

王林
Release: 2023-05-11 09:00:08
Original
467 people have browsed it

PHP is an extremely powerful programming language. It combines the advantages of Perl, Java, C language and many other languages. It has the characteristics of being easy to learn, fast running speed and high development efficiency. PHP, like JavaScript, is a scripting language, and an important feature of scripting languages ​​is that they support various data types, among which array is one of the most commonly used data types in PHP.

In PHP, arrays can store multiple values, which can be strings, numbers, or even arrays. By operating on these values, various functions can be implemented, such as search, sorting, statistics, etc. This article will focus on the simple and practical operation of array summation.

For array summation, we first need to clarify the data type of the values ​​to be added in the array. Because, in PHP, if the data type of the array elements is numeric, you can directly use the built-in function array_sum() to perform the sum, otherwise type conversion is required.

The following is an example array, which contains 10 randomly generated numbers:

$num_array = array(7, 12, 25, 78, 2, 45, 32, 19, 66, 81);
Copy after login

If we need to sum this array, we can directly call the array_sum() function:

$sum = array_sum($num_array);
echo "数组元素之和为: " . $sum;
Copy after login

The output result is:

数组元素之和为: 367
Copy after login

It can be seen that the use of the array_sum() function is very simple. It can directly add all the numbers in the array and return the added result.

However, if the elements in the array are not numbers, you cannot use the array_sum() function directly. At this point, we need to perform type conversion on the array elements. For example, if the array element is a string, you can use (int) or (float) to convert it to a numeric type as follows:

$str_array = array("37", "56.2", "48", "92.8", "73");
$str_sum = array_sum(array_map('floatval', $str_array));
echo "数组元素之和为: " . $str_sum;
Copy after login

The output result is:

数组元素之和为: 307
Copy after login

In the above In the code, the array_map() function and floatval() function are used. Among them, the array_map() function receives two parameters. The first parameter is the name of the conversion function, and the second parameter is the array that needs to be converted. The floatval() function is used to convert a string to a floating point number, but it can also convert an integer type string to an integer type. Finally, the converted array is summed using the array_sum() function.

If the array element is of Boolean or NULL type, it can be converted to a numeric type and then summed. The sample code is as follows:

$bool_array = array(true, false, true, false);
$null_array = array(null, 20, null, 10);
$bool_sum = array_sum(array_map('intval', $bool_array));
$null_sum = array_sum(array_map('intval', $null_array));
echo "布尔类型数组元素之和为: " . $bool_sum . "<br />";
echo "NULL类型数组元素之和为: " . $null_sum;
Copy after login

The output result is:

布尔类型数组元素之和为: 2<br />NULL类型数组元素之和为: 30
Copy after login

In the above code, the intval() function is used to convert the array elements of Boolean type and NULL type into numerical types, and then array_sum is used () function to sum it.

To sum up, the array sum operation in PHP is very simple and has good compatibility with different types of array elements. In actual development, we can define the conversion function ourselves as needed to achieve more complex summation requirements.

The above is the detailed content of Array sum 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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template