今回はアルゴリズムを学ぶ一環として、**PHPで「配列の中から最大値・最小値を取り出す」**を題材にして投稿しようと思います。復習も兼ねながらの投稿となります。
最大値・最小値を取り出す方法としては
** 1. 組込み関数を使う方法
2. 1.を使わず、素のプログラミングで書く方法**
があるかと思います
それでは順に見ていきましょう
組込み関数を使う方法
最大値・最小値を求める PHP の組込み関数として,max
min
があります。
これを使用すると、簡単に最大値・最小値を取り出すことができます。
<?php
$array = array(2,6,3,10,4);
echo max($array); //10
echo min($array); //2
?>
それでは、これらを**「用いないで」**最大値・最小値を取り出すにはどうすれば良いのでしょうか。次から見ていきましょう。
組込み関数を使わない方法
いわゆるアルゴリズムを使って最大値・最小値を取り出す方法です。今回は最大値を取り出すアルゴリズムを考えていきます。
フローチャート
1. 配列にデータを用意する
2. 最大値を配列の最初の値に代入(初期化)
3. 配列の最初から最後までループして比較。
4. もし現在の最大値より値が大きければ上書きして変更
以上を踏まえて組んだプログラミングは以下のようになります
<?php
$array = array(2,6,3,10,4); //配列を用意する
$max = $array[0]; // 最大値に配列の最初の値を代入して初期化
// 2 つ目から最後まで、ループ処理
for ($i=1;$i<count($array);$i++){
// 最大値より配列の値が大きければ上書きをする
if($max<$array[$i]){
$max=$array[$i];
}
}
echo $max; //10
?>
※ 最小値もほぼ似たような感じです。現在の最小値より値が小さければ上書きするようにすれば最小値を取り出すことができます。