ホームページ  >  記事  >  バックエンド開発  >  独学でPHP初心者登録。配列についていくつか質問がありますので、専門家からアドバイスをいただければ幸いです。

独学でPHP初心者登録。配列についていくつか質問がありますので、専門家からアドバイスをいただければ幸いです。

WBOY
WBOYオリジナル
2016-06-23 13:30:33742ブラウズ

<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>


".$_POST['xh'][$i]."この文はどういう意味ですか?なぜ「["xh"]」を追加するのでしょうか?二つの"." とはどういう意味ですか?
$XH が送信後に配列を取得するのはなぜですか?配列を作成するにはarray()関数を使用する必要はないでしょうか?


ディスカッション (解決策) への返信

文字列連結操作です

なぜ 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] );


うーん、最近コードをたくさん入力しました。わかりました。 。

ありがとう~~
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。