方法:1、用array_values()将数组转为索引数组,语法“array_values(原数组)”;2、用sort()对数组进行升序排序,语法“sort(索引数组)”,此时索引为2的元素就是第三小值;3、用“索引数组名[2]”语句获取。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php求数组第三小值的方法

在PHP中,对数组进行升序排序,这样小值在前,大值在后,开头的三个值(a[0]、a[1]、a[2])就是第一、第二、第三小值,取出索引为2的元素(a[2])即可。

下面具体就是一下步骤。

1、将数组转为索引数组

利用array_values()获取数组中所有元素的值,可将关联数组转化为索引数组,确保数组为索引数组。(这样在后面才可利用索引值取出第三小值)。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("a"=>44,"b"=>23,"c"=>56,"d"=>2,"e"=>9,"f"=>1,"g"=>8,"h"=>-1);
var_dump($arr);
$value=array_values($arr);
var_dump($value);
?>

1.png

2、对索引数组进行升序排序

利用sort() 函数对数组进行升序排序,让数组元素从小到大依次排序。

sort($value);
var_dump($value);

2.png

此时,开头第三个元素,即索引为2的就是需要的第三小值。

3、获取第三小值

只需利用“数组名[2]”形式即可获取排序后的第三个元素。

echo "数组第三小值为:".$value[2];

3.png


php怎么求数组第三小值