現在の位置: ホーム> 最新記事一覧> 配列の3番目の小さな値を取得するためのさまざまな実用的な方法の分析

配列の3番目の小さな値を取得するためのさまざまな実用的な方法の分析

gitbox 2025-08-04

アレイの3番目の小さな値は何ですか

PHPでは、配列は複数の値を保存できるデータ型です。配列がある場合は、3番目の小さな値を見つける必要がある場合があります。これは、すべての要素の中でサイズでソートされた3番目の数字の値です。

実装方法

方法1:ソート後に3番目のアイテムを取ります

最初に配列を並べ替えてから、ソート後に3番目の要素を直接選択できます。

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

方法2:重複排除の後、3番目の項目を並べ替えます

Arrayに複製要素がある場合は、最初にArray_unique()を使用して、それらを控除してからソートし、最後に3番目の要素を取得できます。

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

方法3:アレイ部分を分離した後のソート

array_slice()を介して配列の最初のいくつかのアイテムを取得し、データのこの部分をソートしてから、3番目のアイテムを使用します。

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

方法4:カスタム関数トラバーサル検索

カスタム関数を介して、ネストされたループを使用してアレイ要素をソートして、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

要約します

上記の方法はすべて、アレイ内の3番目の小さな値を効果的に見つけることができます。ソート後に直接値を取る方法は簡潔で効率的です。重複排除の後、ソートは重複する要素が存在する場合に適していますが、カスタム関数はソートプロセスにより多くの制御ニーズがあるシナリオに適しています。特定のニーズに応じて適切な方法を選択すると、配列データの処理をよりよく完了できます。