繁体   English   中英

如何使用print_r php打印数组的值?

[英]How to print values of array using print_r php?

我有一个存储在变量“ 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

不要为多个元素分配相同的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[]'>
foreach($_POST as $key => $val)
  echo $val;

^^会的。 但是,您不能像$ val = something这样编辑。 要更改值,请使用$ POST [$ key] = something;。

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

这将无法正常工作,因为您要覆盖具有不同值的同一个变量,并最终为一个变量分配了最后一个值。

更改为

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

当将POST数据解析为$_POST时,PHP将使用相同的名称覆盖这些值。

您可以改为编写以下表单代码:

<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字符串的数组。

我认为可以这样:

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

然后在POST上,只需查看$ _POST ['do']内部即可获取数组。

编辑:请注意,撇号已切换为引号,ID已唯一,每个标签均已自动关闭。 通常,它将不会进行其他验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM