我有一个存储在变量“do”中的值数组 它是这样的,但不完全是
<html>
<input type='text' name='do' id='do'>
<input type='text' name='do' id='do'>
<input type='text' name='do' id='do'>
<input type='text' name='do' id='do'>
<input type='text' name='do' id='do'>
</html>
然后我使用[print_r]打印它然后它给出了结果
<?php
print_r($_POST['do']);
//and i try this also
foreach($_POST as $key => $val){
echo $key . ' : ' . htmlentities($val,ENT_QUOTES) . "<br>\n";?>
}
[do=1&do=2&do=3]
我怎么能修改或只打印这样的值:
1
2
3
答案 0 :(得分:1)
不要为多个元素分配相同的ID(这就是它的原因)但是更改名称以便将一组元素作为POST发送
<input type='text' name='do[]'>
<input type='text' name='do[]'>
<input type='text' name='do[]'>
<input type='text' name='do[]'>
<input type='text' name='do[]'>
答案 1 :(得分:0)
foreach($_POST as $key => $val)
echo $val;
^^会这样做。但是你不能像$ val = some那样编辑。要更改值,请使用$ POST [$ key] = something;
答案 2 :(得分:0)
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
答案 3 :(得分:0)
这不会正常工作,因为你用不同的值覆盖了同一个变量,最后得到一个变量,并指定了最后一个值。
将此更改为
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
所以你可以像这样循环:
foreach($_POST['do'] as $key => $val)
答案 4 :(得分:0)
在将POST数据解析为$_POST
时,PHP会使用相同的 plain 名称覆盖值。
您可以改为编写以下表单代码:
<html>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
<input type='text' name='do[]' id='do'>
</html>
现在,$_POST['do']
是包含五个do
字符串的数组。
答案 5 :(得分:0)
我认为可以这样做:
<input type="text" name="do[]" id="do_1" />
<input type="text" name="do[]" id="do_2" />
<input type="text" name="do[]" id="do_3" />
<input type="text" name="do[]" id="do_4" />
<input type="text" name="do[]" id="do_5" />
然后在POSTing上,只需查看$ _POST ['do']以获取数组。
编辑:请注意,撇号已切换为引号,ID已设为唯一,并且每个标记都已自动关闭。一般来说,它不会以其他方式验证。