當前位置: 首頁> 最新文章列表> PHP獲取數組第三小值的多種實用方法解析

PHP獲取數組第三小值的多種實用方法解析

gitbox 2025-08-04

什麼是數組第三小值

在PHP中,數組是一種可以存儲多個值的數據類型。如果你有一個數組,可能會需要找到其中的第三小值,也就是所有元素中按大小排序後位於第三位的數值。

實現方法

方法一:排序後取第三項

可以先對數組進行排序,然後直接選取排序後的第三個元素。

 $arr = array(3, 5, 2, 8, 1);
sort($arr);
echo $arr[2]; // 輸出2

方法二:去重後排序取第三項

如果數組中有重複元素,可以先用array_unique()去重,再排序,最後取第三個元素。

 $arr = array(3, 5, 2, 8, 1, 2, 3, 5);
$arr = array_unique($arr);
sort($arr);
echo $arr[2]; // 輸出3

方法三:截取數組部分後排序

通過array_slice()獲取數組的前幾項,然後對這部分數據排序,再取第三項。

 $arr = array(3, 5, 2, 8, 1);
$arr = array_slice($arr, 0, 3);
sort($arr);
echo $arr[2]; // 輸出3

方法四:自定義函數遍歷查找

通過自定義函數,使用嵌套循環對數組元素進行排序,找到第三小的值。

 
function third_smallest($arr)
{
    $n = count($arr);
    $temp = 0;
    for ($i = 0; $i < $n; $i++) {
        for ($j = $i + 1; $j < $n; $j++) {
            if ($arr[$j] < $arr[$i]) {
                $temp = $arr[$i];
                $arr[$i] = $arr[$j];
                $arr[$j] = $temp;
            }
        }
        if ($i == 2) {
            break;
        }
    }
    return $arr[2];
}
$arr = array(3, 5, 2, 8, 1);
echo third_smallest($arr); // 輸出3

總結

以上幾種方法都能有效找到數組中的第三小值。排序後直接取值的方法簡潔高效,去重後排序適合存在重複元素的情況,而自定義函數則適用於對排序流程有更多控制需求的場景。根據具體需求選擇合適的方法,能夠更好地完成數組數據的處理。