Reputation: 1598
I am trying to get 1 result of the lowest value from a set. So I have a set of number (averages) i just need to show the lowest one of the set:
if ($danresult->num_rows > 0) {
while($row = $danresult->fetch_assoc()) {
$score1 = $row["score_1"];
$score2 = $row["score_2"];
$score3 = $row["score_3"];
$score4 = $row["score_4"];
$score5 = $row["score_5"];
$score6 = $row["score_6"];
$score7 = $row["score_7"];
$score8 = $row["score_8"];
$sum = $score1 + $score2 + $score3 + $score4 + $score5 + $score6 + $score7 + $score8;
$totalAverage = $sum / 8;
$totalAverages[] = $totalAverage;
$index = min($totalAverages);
echo $index . '<br>';
}
}
I have been trying to use the php min() function to no avail!
My results would typically be like 2, 2.75, 3, 3.35 etc.. so I just need to show the lowest of the set. so like 2 from the set above.
Upvotes: 2
Views: 119
Reputation: 805
you could add all values to an array and use the array functions to determine the winner
if ($danresult->num_rows > 0) {
while($row = $danresult->fetch_assoc()) {
$scores=array(
$row["score_1"],
$row["score_2"],
$row["score_3"],
$row["score_4"],
$row["score_5"],
$row["score_6"],
$row["score_7"],
$row["score_8"]
);
$sum= array_sum ($scores);
$totalAverage = $sum / count($scores);
$min=min($scores);
$winner=array_search($min, $scores);
}
}
Upvotes: 3
Reputation: 52
Try this, you need to close foreach...then get a lowest value from array
if ($danresult->num_rows > 0) {
while($row = $danresult->fetch_assoc()) {
$score1 = $row["score_1"];
$score2 = $row["score_2"];
$score3 = $row["score_3"];
$score4 = $row["score_4"];
$score5 = $row["score_5"];
$score6 = $row["score_6"];
$score7 = $row["score_7"];
$score8 = $row["score_8"];
$sum = $score1 + $score2 + $score3 + $score4 + $score5 + $score6 + $score7 + $score8;
$totalAverage = $sum / 8;
$totalAverages[] = $totalAverage;
}
$index = min($totalAverages);
echo $index . '<br>';
}
Upvotes: 1