<html><body><form method="post"><table border="1"><tr><td width="200">学号</td><td width="200">姓名</td><td width="200">成绩</td></tr><?php for ($i = 0; $i < 5; $i++) { echo "<tr>"; echo "<td width='200'><input type='text' name='xh[]' style='width:200px' value='".$_POST['xh'][$i]."'></td>"; echo "<td width='200'><input type='text' name='xm[]' style='width:200px' value='".$_POST['xm'][$i]."'></td>"; echo "<td width='200'><input type='text' name='cj[]' style='width:200px' value='".$_POST['cj'][$i]."'></td>"; echo "</tr>";}?><tr><td colspan="3" align="center"><input type="submit" name="submit1" value="提交"></td></tr></table></form><?php if (isset($_POST["submit1"])) { $XH = $_POST["xh"]; $XM = $_POST["xm"]; $CJ = $_POST["cj"];}?></body></html>
文字列連結操作です
なぜ HTML 配列では name='xh[]' のようなものを使用する必要がありますか? これは PHP の規約です
参考文献
http:// php.net/manual /zh/faq.html.php#faq.html.arrays
実際、ブラウザPOSTの過去データはこんな感じ(httpヘッダーの下にあります)
xh[]=最初の値&xh []=2 番目の値服务
サーバーへの PHP の解析は
$ _post ['xh'] = Array (
0 = & gt; '最初の値',
1 = & gt; $_POST[' xh'][0] は「最初の値」を取得します
通常(フォーム配列は使用しません)
6320758e31bdd35a6ba5c32d1bb1af04edfbef905147041d509f26f45c2dc43bb90dd5946f0946207856a8a37f441edf "
Ifこのように文字列を結合することに本当に慣れていない場合は、C 言語に似た printf 関数または sprintf 関数を使用してください
printf("<td width='200'><input type='text' name='xh[]' style='width:200px' value='%s'></td>", $_POST['xh'][$i] );
echo "<td width='200'><input type='text' name='xh[]' style='width:200px' value='".$_POST['xh'][$i]."'></td>";
echo の後に 3 つの文字列が続きます (下の赤い文字列は二重引用符です)
最初の文字列は: " 9ee753be40cce0bdefca138d987e6a6d3b7ed5466cad22ea5c09d9a6110351c0b90dd5946f0946207856a8a37f441edf "
このように文字列を結合することにあまり慣れていないので、C 言語に似た printf または sprintf 関数を使用します
printf("<td width='200'><input type='text' name='xh[]' style='width:200px' value='%s'></td>", $_POST['xh'][$i] );