大家好!正在读一本PHP教程,有一个示例是这样的: 让用户输入几个文本框,生成下一页表单的select的各option:输入页:
<td>Select option</td>
<td>
<?php
for ($i=0; $i<5; $i++) {
echo '<input type="text" name="sval['.$i.']" /><br/>';
}
?>
</td>
下一页中的select:
<select>
<?php
for ($i=0; $i<5; $i++) {
echo '<option value="'.$_POST['sval'][$i].'">'.$_POST['sval'][$i].'</option>';
}
?>
</select>
我的疑问是:输入页input的name既然是:sval[0] 或 sval[1] 等,为什么接收它的代码是:$_POST['sval'][$i] 呢?觉得应该是:$_POST['input的name'] 啊!但是经测试,书里的代码是正确的,可它这个 $_POST['sval'][$i] 中的 $_POST['sval'] 不是就完成了接收的语句了吗?(按正常的逻辑,$_POST['name的值']),为什么它这里分开写呢?后面又加上了 [$i] ?
<td>Select option</td>
<td>
<?php
for ($i=0; $i<5; $i++) {
echo '<input type="text" name="sval['.$i.']" /><br/>';
}
?>
</td>
下一页中的select:
<select>
<?php
for ($i=0; $i<5; $i++) {
echo '<option value="'.$_POST['sval'][$i].'">'.$_POST['sval'][$i].'</option>';
}
?>
</select>
我的疑问是:输入页input的name既然是:sval[0] 或 sval[1] 等,为什么接收它的代码是:$_POST['sval'][$i] 呢?觉得应该是:$_POST['input的name'] 啊!但是经测试,书里的代码是正确的,可它这个 $_POST['sval'][$i] 中的 $_POST['sval'] 不是就完成了接收的语句了吗?(按正常的逻辑,$_POST['name的值']),为什么它这里分开写呢?后面又加上了 [$i] ?
再_post规则名称
你也可以这样。
输入页:
<td>Select option </td>
<td>
<?php
for ($i=0; $i <5; $i++) {
echo ' <input type="text" name="sval[]" /> <br/>';
}
?>
</td> //-----------------------------
<select>
<?php
$vl=$_POST["sval"]
for ($i=0; $i <5; $i++) {
echo ' <option value="'.$vl[$i].'">'.$vl[$i].' </option>';
}
?>
</select>
asp同名称的,他取值都能取到,行成value="v1,v2,v3"格式
php同名称的得加上[]
取到的是数组。