Javascript PHP将多个查询字符串值转换为数组
我有一个表单,它允许用户添加相同输入字段的多个“行”,基本上,要求用户指定他们拥有的子项的数量 表格非常简单,如下所示(为便于阅读而缩写): 我的问题是,有没有一种方法可以在不编写复杂循环语句的情况下将这些值放入数组Javascript PHP将多个查询字符串值转换为数组,javascript,php,arrays,query-string,Javascript,Php,Arrays,Query String,我有一个表单,它允许用户添加相同输入字段的多个“行”,基本上,要求用户指定他们拥有的子项的数量 表格非常简单,如下所示(为便于阅读而缩写): 我的问题是,有没有一种方法可以在不编写复杂循环语句的情况下将这些值放入数组 目前,我将它们按$-字符分割成一个数组,然后确定这个数组包含多少个字符串文字,然后逐一迭代每个字符串,以建立我所需的多维数据数组(不止一个子数组),但对于如此简单的事情,这感觉有点过分了?添加[]应允许您以并行数组的形式迭代和访问数据。另一种方法是为每个“子”添加和维护一个索引,并
目前,我将它们按$-字符分割成一个数组,然后确定这个数组包含多少个字符串文字,然后逐一迭代每个字符串,以建立我所需的多维数据数组(不止一个子数组),但对于如此简单的事情,这感觉有点过分了?添加
[]
应允许您以并行数组的形式迭代和访问数据。另一种方法是为每个“子”添加和维护一个索引,并增加该索引。e、 g.name=“childfirstname[currentIndex]”
每次添加一行时,都会更新并增加包含当前索引的javascript变量
<form name="guestform" method="post">
....
<div class="children-part">
<ul>
<li> <li>
<li>
<label>Name:</label>
<input type="text" name="childfirstname[]" />
<li>
<li>
<label> </label>
<input type="text" name="childlastname[]" />
<li>
<li>
<label>Gender:</label>
<input type="radio" name="childgender[]" value="M" /> <label>Male</label>
<input type="radio" name="childgender[]" value="F" /> <label>Female</label>
<li>
</ul>
</div>
....
</form>
....
-
-
姓名:
-
-
-
-
性别:
男性的
女的
-
....
添加[]
应允许您以并行数组的形式迭代和访问数据。另一种方法是为每个“子”添加和维护一个索引,并增加该索引。e、 g.name=“childfirstname[currentIndex]”
每次添加一行时,都会更新并增加包含当前索引的javascript变量
<form name="guestform" method="post">
....
<div class="children-part">
<ul>
<li> <li>
<li>
<label>Name:</label>
<input type="text" name="childfirstname[]" />
<li>
<li>
<label> </label>
<input type="text" name="childlastname[]" />
<li>
<li>
<label>Gender:</label>
<input type="radio" name="childgender[]" value="M" /> <label>Male</label>
<input type="radio" name="childgender[]" value="F" /> <label>Female</label>
<li>
</ul>
</div>
....
</form>
....
-
-
姓名:
-
-
-
-
性别:
男性的
女的
-
....
您是否尝试将[]
添加到名称中?然后您应该能够通过$\u GET
访问它们。但是要注意,这些键可能会混淆,因此在创建查询时添加它们可能是有意义的。我不确定这是否是您要查找的,但您可以使用以下数组命名表单字段:
。每个字段都将作为数组发布:foreach($\u post['childfirstname']作为$key=>$value){…}
。当然:$。。。我会很快尝试的。谢谢你对混淆部分的提醒,我会留意的。感谢在查询字符串childlastname=1&childlastname=2
中,单个结果变量$\u POST['childlastname']
的值将是2
,因为查询字符串中的第一次出现被覆盖。相关问题:您是否尝试将[]
添加到名称
?然后您应该能够通过$\u GET
访问它们。但是要注意,这些键可能会混淆,因此在创建查询时添加它们可能是有意义的。我不确定这是否是您要查找的,但您可以使用以下数组命名表单字段:
。每个字段都将作为数组发布:foreach($\u post['childfirstname']作为$key=>$value){…}
。当然:$。。。我会很快尝试的。谢谢你对混淆部分的提醒,我会留意的。感谢在查询字符串childlastname=1&childlastname=2
中,单个结果变量$\u POST['childlastname']
的值将是2
,因为查询字符串中的第一个匹配项被覆盖。相关问题:
<form name="guestform" method="post">
....
<div class="children-part">
<ul>
<li> <li>
<li>
<label>Name:</label>
<input type="text" name="childfirstname[]" />
<li>
<li>
<label> </label>
<input type="text" name="childlastname[]" />
<li>
<li>
<label>Gender:</label>
<input type="radio" name="childgender[]" value="M" /> <label>Male</label>
<input type="radio" name="childgender[]" value="F" /> <label>Female</label>
<li>
</ul>
</div>
....
</form>