phpは最高スコアを削除します

WBOY
リリース: 2023-05-07 09:54:07
オリジナル
562 人が閲覧しました

プログラミングでは、特にデータリストを処理する場合など、データを処理する必要がある状況が数多くあります。データ リスト内の最高スコアまたは最低スコアについては、多くの場合、平均を削除して再計算する必要があり、この操作は 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート