PHPで配列内の最小値を求めるプログラムの書き方【サンプルコード付き】
配列の中から最小の要素(最小値)を取り出すPHPコードは、以下の通りです。
サンプルコード
<?php
function get_min_value($my_array){
$n = count($my_array);
$min_val = $my_array[0];
for ($i = 1; $i < $n; $i++) {
if ($min_val > $my_array[$i]) {
$min_val = $my_array[$i];
}
}
return $min_val;
}
$my_array = array(56, 78, 91, 44, 0, 11);
print_r("配列の最小値は ");
echo(get_min_value($my_array));
echo("\n");
?>
実行結果
配列の最小値は 0
コードの解説
まず、「get_min_value()」という関数を定義し、引数として配列を受け取ります。関数内では、count() 関数を使って配列の要素数を取得し、変数に代入しています。
$n = count($my_array);
次に、配列の最初の要素を最小値候補として変数 $min_val に設定します。その後、for ループで配列を先頭から順に走査し、現在の最小値と各要素を1つずつ比較していきます。より小さい値が見つかるたびに $min_val を更新し、ループが終わった時点で配列全体の最小値を返します。
$min_val = $my_array[0];
for ($i = 1; $i < $n; $i++) {
if ($min_val > $my_array[$i]) {
$min_val = $my_array[$i];
}
}
return $min_val;
関数の外側では、比較対象となる配列を定義し、その配列を引数として get_min_value() 関数を呼び出しています。戻り値として得られた最小値は、echo によって画面に出力されます。
$my_array = array(56, 78, 91, 44, 0, 11);
print_r("配列の最小値は ");
echo(get_min_value($my_array));
このアルゴリズムは配列を一度だけ走査するため、計算量は O(n) となり、要素数が増えても効率的に動作します。
補足:組み込み関数 min() を使う方法
PHPには標準で最小値を求める min() 関数が用意されています。独自の関数を定義しなくても、次のように1行で最小値を取得できます。
echo min(array(56, 78, 91, 44, 0, 11)); // 0 が出力される
学習目的でロジックを理解したい場合は自作関数、実務で手軽に最小値を取得したい場合は min() 関数の利用がおすすめです。
-
Pythonで配列内の最大の要素を見つける方法を解説
この記事では、「配列の中から最大の要素を求める」という問題の解決方法について詳しく解説します。 問題の概要 問題文:与えられた配列に対して、その中で最も大きい要素を計算して求める必要があります。 ここではブルートフォース(総当たり)アプローチを使用します。これは、配列全体を先頭から順番に走査しながら各要素を比較し、その時点での最大値を更新していくというシンプルかつ確実な手法です。 実装例 以下に具体的なコードを示します。 # 最大値を求める関数 def largest(arr, n): # 最大要素の初期値として最初の要素を設定 max = arr[0] # 配列全体を
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に