それはあなたが求めているものだ場合$_POST
のエントリは、配列そのものです:
for ($i = 0; $i < count($_POST['text']); ++$i) {
// do something with this post:
$_POST['text'][$i];
}
か:
foreach ($_POST['text'] as $i => $text) {
// do something with:
$text;
// Note: $text === $_POST['text'][$i]
}
オフトピックを
常にあなたの要素を閉じます。
<input type="text" name="number" id="number" />
<input type="submit" name="button_add" id="button_add" value="add" />
入力をラップする<div>
も閉じずに済みました。そうしないと、あなたの書類が不正であり、ブラウザが書類の解析を試みるにもかかわらず、あなたが望むようにする保証はありません。
入力のデフォルトタイプはテキストです。 type属性を "text"に設定することに害はありませんが、必ずしも必要ではありません。
short tagsに頼らないでください。フル<?php
を使用してください。すべてのホストが有効になっているわけではなく、廃止予定であり、すぐに去っていく予定です(PHP 5より前にやっている話があります)。
入力名に配列インデックスを明示的に割り当てる必要はありません。 empty bracketsは値を配列の末尾に割り当てます。また、 '['と ']'はvalid characters for IDsではありません。あなたのコード内のwhile
ループより
<input type="text" name="text[]" id="text_<?php echo $i; ?>" />
for
loop is more appropriate。両方とも同じことをしますが、それらは異なる意味を持ちます(変化する状況下で静的条件が成り立つ間にループが繰り返され、forループがシーケンスにわたって繰り返されます)。
for ($i=0; $i < $number; ++$i) {
はすべて一緒に、我々は持っている:
<input name="number" id="number" />
<input type="submit" name="button_add" id="button_add" value="add" />
<?php for ($i=0; $i < $number; ++$i): ?>
<div align="left">
<input name="text[]" id="text_<?php echo $i; ?>" />
</div>
<?php endfor; ?>
うわー...私はそれを理解するには飲み物が必要だと思う。あなたはあなたの質問を言い換えることができますか?あなたはポストアクションを介して値の配列を渡そうとしていますか、またはここで何をしようとしていますか? –
– Victor
申し訳ありません私は聞いているsistemにorientatiedされていません。だから私の暴動はとても悪いです。 – Victor