Home > Backend Development > PHP Problem > How to find the maximum value and key of an array in php

How to find the maximum value and key of an array in php

PHPz
Release: 2023-04-17 17:14:33
Original
1262 people have browsed it

Arrays in PHP are a very common data type, and sometimes it is necessary to find the maximum value and the corresponding key value (Key) in an array. This article will introduce how to implement this operation in PHP.

1. Find the maximum value

In PHP, there are two methods to find the maximum value in an array:

1. Use the max() function

PHP's built-in max() function can conveniently take out the maximum value in an array and return this maximum value. The syntax for using this function is very simple:

$max = max($arr);
Copy after login

Among them, $arr is the array to be queried, and $max is the maximum value returned. For example:

$arr = array(2, 6, 3, 1, 8, 5);
$max = max($arr);
echo $max; // 输出8
Copy after login

2. Use foreach loop

Another method is to use foreach loop to compare the size of each element in turn and obtain the maximum value through comparison. The specific implementation method is as follows:

$max = $arr[0];
foreach ($arr as $value) {
    if ($value > $max) {
        $max = $value;
    }
}
Copy after login

Among them, $arr is the array that needs to be queried, and $max is the current maximum value. The foreach loop traverses each element to determine whether it is greater than the current maximum value. If it is greater than the current maximum value, reassign it to $max.

2. Find the corresponding Key

The problem of finding the maximum value in the array has been completed. The next question becomes how to obtain the key value corresponding to the maximum value.

1. Use the array_keys() and max() functions

PHP’s built-in array_keys() and max() functions can be used in combination to easily retrieve the key value of the maximum value in the array . The format used is as follows:

$keys = array_keys($arr, max($arr));
Copy after login

Among them, $arr is the array that needs to be queried, max($arr) returns the maximum value of this array, and the array_keys() function uses this maximum value to return the corresponding Key-value array. For example:

$arr = array('a' => 2, 'b' => 6, 'c' => 3, 'd' => 1, 'e' => 8, 'f' => 5);
$keys = array_keys($arr, max($arr));
print_r($keys); // 输出:Array ([0] => e)
Copy after login

$arr ​​here is an associative array, the maximum value in the array corresponds to the key value 'e', ​​this key value is stored in the $keys array.

2. Use foreach loop

Another method is to compare the size of each element in turn through a foreach loop to obtain the key value corresponding to the maximum value. The specific implementation method is as follows:

// 第一步:获取最大值
$max = $arr[0];
foreach ($arr as $value) {
    if ($value > $max) {
        $max = $value;
    }
}

// 第二步:获取最大值对应的键值
$key = array();
foreach ($arr as $k => $v) {
    if ($v == $max) {
        $key[] = $k;
    }
}

// 输出最大值对应的键值
print_r($key);
Copy after login

We first obtain the maximum value $max in the array through the foreach loop, and then use the foreach loop again to find the key value corresponding to the maximum value. The specific implementation method is that each loop first determines whether the current element is equal to $max. If it is equal, the current key value $k is stored in the $key array, and finally the $key array is output.

3. Example Demonstration

In order to demonstrate more specifically how to find the maximum value and the corresponding Key in PHP, let’s do a simple example: Assume that the following user information (ID , name and age):

$id_name_age = array(
    array('id' => 1, 'name' => '张三', 'age' => 20),
    array('id' => 2, 'name' => '李四', 'age' => 25),
    array('id' => 3, 'name' => '王五', 'age' => 30),
    array('id' => 4, 'name' => '赵六', 'age' => 22),
    array('id' => 5, 'name' => '钱七', 'age' => 28),
    array('id' => 6, 'name' => '孙八', 'age' => 18)
);
Copy after login

We need to find out which user is the oldest and output the user's ID, name and age. The specific implementation is as follows:

// 第一步:获取年龄最大值
$ages = array();
foreach ($id_name_age as $value) {
    $ages[] = $value['age'];
}
$max_age = max($ages);

// 第二步:获取年龄最大值对应的用户信息
$max_age_user = array();
foreach ($id_name_age as $value) {
    if ($value['age'] == $max_age) {
        $max_age_user = $value;
        break;
    }
}

// 输出年龄最大值对应的用户信息
echo 'ID:' . $max_age_user["id"] . '<br/>';
echo '姓名:' . $max_age_user["name"] . '<br/>';
echo '年龄:' . $max_age_user["age"] . '<br/>';
Copy after login

Here we first traverse the $id_name_age array through a foreach loop, take out the age of each user, and then use the max() function to obtain the maximum value of this array, $max_age. Then use the foreach loop again to find the user information with age $max_age and store it in the $max_age_user array. Finally, output the user's ID, name and age.

4. Summary

Through the above introduction and examples, we can see that it is not a very difficult operation to find the maximum value and the corresponding Key in an array in PHP. No matter in terms of code implementation complexity or operating efficiency, PHP has provided a variety of effective ways to complete this operation. Therefore, mastering these methods is very helpful for daily PHP programming work.

The above is the detailed content of How to find the maximum value and key of 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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template