プログラミングでは、特にデータリストを処理する場合など、データを処理する必要がある状況が数多くあります。データ リスト内の最高スコアまたは最低スコアについては、多くの場合、平均を削除して再計算する必要があり、この操作は PHP では非常に一般的です。この記事では、PHP を使用してデータリストから最高スコアを削除し、平均を再計算する方法を紹介します。
1. データ リストの取得
まず、後続の操作のためにデータ リストを取得する必要があります。 PHP では、配列を使用してデータのリストを保存できます。以下に、一部の生徒のスコアを含む配列の例を示します。
$scoreList = array(
array("name"=>"Tom", "score"=>80),
array("name"=>"Bob", "score"=>90),
array("name"=>"Lucy", "score"=>95),
array ("名前"=>"ジョン", "スコア"=>85),
array("名前"=>"メアリー", "スコア"=>92),
);
この配列には 5 人の生徒のデータが含まれており、各生徒は独自の名前とスコアを持っています。ループを通じて各生徒の名前とスコアを出力できます:
foreach($scoreList as $stu){
echo $stu["name"].":".$stu["score "] ."
";
}
出力結果は次のとおりです:
Tom: 80
Bob: 90
Lucy: 95
John: 85
Mary: 92
2. 最高スコアの削除
次に、これらの生徒の中から最高スコアを見つけて、それを削除する必要があります。 PHP には、配列内の最大値を見つける簡単な方法である max() 関数が用意されています。次のコードを使用すると、配列内の最高スコアを取得できます:
$highestScore = max(array_column($scoreList, "score"));
array_column() 関数が使用されます。ここでは、配列内のすべてのスコアを取得し、max() 関数を使用してそれらの最大値を見つけます。もちろん、データ量が少ない場合は、ループを使用して最高スコアを見つけることもできます。
最高スコアを見つけたら、それを配列から削除する必要があります。これは、次のコードを使用して実行できます:
foreach($scoreList as $key => $stu){
if($stu["score"] == $highestScore){
unset( $scoreList[$key]);
}
}
ここでは unset() 関数を使用して、配列内の対応する要素を削除します。
3. 平均値を計算する
これで、最高スコアが配列から削除されました。平均を再計算する必要があります。これは、次のコードを使用して実行できます:
$totalScore = array_sum(array_column($scoreList, "score"));
$avgScore = $totalScore / count($scoreList);
ここでは、array_sum() 関数を使用して配列内のすべてのスコアの合計を計算し、次に count() 関数を使用して配列内の要素数を計算して平均を取得します。
4. 結果の表示
最後に、計算された平均を表示します。次のコードを使用して完了できます:
echo "最高スコアを削除した後、この試験の平均スコアは次のとおりです:".$avgScore;
出力結果は次のとおりです:
削除最高スコア後のこの試験の平均スコアは 89.25
上記の手順により、データ リスト内の最高スコアを正常に削除し、平均スコアを再計算しました。実際の開発では、実際の状況に応じて適切な調整や最適化を行う必要がありますが、中心となる考え方や手法は似ています。同時に、データリストを処理する際には、データの正確性と安全性にも注意を払う必要があります。
以上がphpは最高スコアを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。