-
ソートして2番目の要素を取得する方法:
function findSecondLargest($array) { rsort($array); // 配列を降順にソート return $array[1]; // ソート後の2番目の要素を返す }
-
配列を1回のループで処理する方法:
function findSecondLargest($array) { $largest = $secondLargest = PHP_INT_MIN; // 初期値を最小値に設定 foreach ($array as $num) { if ($num > $largest) { $secondLargest = $largest; // 現在の最大値を2番目に移動 $largest = $num; // 新しい最大値を設定 } elseif ($num > $secondLargest && $num < $largest) { $secondLargest = $num; // 2番目の最大値を更新 } } return $secondLargest; }
-
配列を2回のループで処理する方法:
function findSecondLargest($array) { $largest = $secondLargest = PHP_INT_MIN; // 初期値を最小値に設定 foreach ($array as $num) { if ($num > $largest) { $largest = $num; // 新しい最大値を設定 } } foreach ($array as $num) { if ($num > $secondLargest && $num < $largest) { $secondLargest = $num; // 2番目の最大値を更新 } } return $secondLargest; }
これらの方法を使用して、配列内の2番目に大きな数を見つけることができます。選択する方法は、配列のサイズや要件によって異なる場合があります。