本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
分析:php求数组中最小的元素值和下标可以分成两步
获取数组的最小的元素值(最小值)
根据最小值来求该值在数组的对应下标(键名)
下面就来给大家具体介绍一下实现步骤。
步骤1:获取数组的最小值
PHP获取数组最值有多种方法,例如排序(升序或降序),这样开头或结尾的元素就是最值。【相关推荐:php怎么求数组当中的最小值】
但因为还要获取其下标,那么排序就不一定可选(可能会破坏其原有顺序)。
那么我们就直接利用内置函数--min()好了。
<?php
header('content-type:text/html;charset=utf-8');
$arr=array(1,45,9,0,-5,52,21,-1,40);
var_dump($arr);
$min=min($arr);
echo "数组最小值为: ".$min."<br>";
?>
步骤2:根据最小值来求该值在数组的下标(键名)
PHP提供了一个内置函数--array_search()
该函数可以在数组中搜索给定的值,如果成功则返回相应的键名(下标)。
$index=array_search($min,$arr);
echo "最小值的下标为:".$index;
将功能封装为一个函数:
function f($arr){
$min=min($arr);
echo "数组最小值为: ".$min."<br>";
$index=array_search($min,$arr);
echo "最小值的下标为:".$index;
}
调用f($arr)即可:
$arr=array(1,2,3);
var_dump($arr);
f($arr);
$arr=array(1,0,1);
var_dump($arr);
f($arr);
函数说明:
1、min()函数
min() 函数返回一个数组中的最小值,或者几个指定值中的最小值。
min(array_values);
or
min(value1,value2,...);
参数 | 描述 |
---|---|
array_values | 必需。规定一个包含值的数组。 |
value1,value2,... | 必需。规定要比较的值(至少两个值)。 |
返回值:数值最小值。
注:想要求最大值,则可使用max() 函数。
2、array_search()函数
array_search() 函数在数组中搜索某个键值,并返回对应的键名。
array_search(value,array,strict)
参数 | 描述 |
---|---|
value | 必需。规定在数组中搜索的键值。 |
array | 必需。规定被搜索的数组。 |
strict | 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
|
返回值:如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。