コメントしたとおり、固定の場合は下記のような感じです。
※ザッと作ってザッと動作確認しただけなのでもしかしたら想定通りに動かないところもあるかもしれませんが、ヒントにはなるはずです。
php
1<?php
2$count = 3;// フォームの個数
3
4$pay = 0; //出力する収支
5$rank = 0; ///出力する平均着順
6
7$pay_html = ""; //成績入力HTML
8$rank_html = ""; //着順入力HTML
9for($i=1;$i<=$count;$i++){
10 $pay_default = 0;
11 $rank_default = 0;
12 if(isset( $_GET["pay{$i}"])){
13 $pay += $_GET["pay{$i}"];
14 $pay_default = $_GET["pay{$i}"];
15 }
16 if(isset( $_GET["rank{$i}"])){
17 $rank += $_GET["rank{$i}"];
18 $rank_default = $_GET["rank{$i}"];
19 }
20
21 $pay_html .= "<input name='pay{$i}' type='text' size=4 value='{$pay_default}'>";
22 $rank_html .= "<input name='rank{$i}' type='text' size=4 value='{$rank_default}'>";
23}
24
25if($rank > 0){
26 $rank = ($rank / $count);
27}
28?>
29
30<html>
31<head>
32 <meta charset="utf-8">
33 <title>収支表</title>
34 <link rel="stylesheet" type="text/css" href="stylesheet.css">
35</head>
36<body>
37 <h1>成績表</h1>
38
39 <form action='index.php' method='get'>
40 <p>成績</p>
41 <?php echo $pay_html ?>
42
43 <p>着順</p>
44 <?php echo $rank_html ?>
45
46 <input type='submit'>
47 <div>
48 <p>収支</p>
49 <?php echo $pay?>
50 <p>平均着順</p>
51 <?php echo $rank?>
52 </div>
53 </form>
54</body>
55</html>
56
作りたい入力コントロールの個数分ループして作るものです。
最初の$count= 3;の3を書き換えればその分増えますし、自動で計算してくれるはずです。
また、今回は入れていませんが、入力チェックが必要です。
数字じゃない情報が送られてきた場合、計算がうまくいきません。
またコメントで書いた「ボタン押下で増やしたり減らしたり」を実装したい場合は、入力コントロールを動的に増やす必要があります。
javascriptでボタン押下時に入力コントロールを追加していき、そのたびにname部分のrankX、payXのX部分を加算していく必要があります。
色々と管理するデータが多くなるのですが、動的にコントロールを生成して扱うところはやってみると結構実力がつきますし、技術として持っておいて損はないのでぜひ挑戦してみてください。
補足:
提示のコードでは配列のキー未定義エラーがでるかと思います。
isset(),array_key_exists()などでチェックした上で使った方が良いかと思います。
ひとまずエラー表示はOnにしておきましょう。