是否有通过查询字符串传递数组的标准方法?
为了清楚起见,我有一个包含多个值的查询字符串,其中一个值是数组值.我希望将查询字符串值视为数组 - 我不希望数组被展开,以便它与其他查询字符串变量无法区分.
此外,根据这篇帖子的答案,作者建议不定义对数组的查询字符串支持.这准确吗?
编辑:
基于@Alex的回答,没有标准的方法可以做到这一点,所以我的后续工作是什么是一种简单的方法来识别我正在阅读的参数是PHP和Javascript中的数组?
将多个参数命名为同名是否可以接受,这样我知道它们属于一个数组?例:
?myarray=value1&myarray=value2&myarray=value3...
Run Code Online (Sandbox Code Playgroud)
或者这是不好的做法?
是否有可能获得相同名称的多个输入发布,然后从PHP访问它们?这个想法是这样的:我有一个表单,允许输入无限数量的物理地址和其他信息.如果我只是在几个条目中给每个字段指定相同的名称并通过post提交该数据,PHP是否可以访问它?
比方说,例如,我在一个名为"xyz"的页面上有五个输入,我想使用PHP访问它们.我可以这样做:
$_POST['xyz'][0]
Run Code Online (Sandbox Code Playgroud)
如果是这样,那将使我的生活变得容易十倍,因为我可以通过表单发送无限量的信息,并通过循环遍历名为"xyz"的项目数组来由服务器处理.
我的表格看起来像:
<form>
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
</form>
Run Code Online (Sandbox Code Playgroud)
复选框的数量会不时变化,因此在使用PHP处理此数据时,我必须循环_POST['checked']数组.
我的问题是,我想在选中复选框时以及不选中时执行操作.但只有选中的复选框才会添加到_POST['checked']数组中.
我正在尝试发布一个带有类似于表格条目的字段的表单
我想我最好举个例子:
<form method="post">
<table>
<tr>
<td><label>Name:</label></td>
<td><input type="text" name="appsDetails[name]" placeholder="Enter name" value=""/></td>
<td><label>ID:</label></td>
<td><input type="text" name="appsDetails[id]" placeholder="Enter id" value=""/></td>
<td><label>Token:</label></td>
<td><input type="text" name="appsDetails[token]" placeholder="Enter token" value=""/></td>
</tr>
<tr>
<td><label>Name:</label></td>
<td><input type="text" name="appsDetails[name]" placeholder="Enter name" value=""/></td>
<td><label>ID:</label></td>
<td><input type="text" name="appsDetails[id]" placeholder="Enter id" value=""/></td>
<td><label>Token:</label></td>
<td><input type="text" name="appsDetails[token]" placeholder="Enter token" value=""/></td>
</tr>
<tr>
<td><label>Name:</label></td>
<td><input type="text" name="appsDetails[name]" placeholder="Enter name" value=""/></td>
<td><label>ID:</label></td>
<td><input type="text" name="appsDetails[id]" placeholder="Enter id" value=""/></td>
<td><label>Token:</label></td>
<td><input type="text" name="appsDetails[token]" placeholder="Enter token" value=""/></td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
您还可以检查:小提琴示例
当上面的示例提交时,我只得到表中的最后一行。
我的问题:有没有办法像数组中的数组一样做到这一点?如果这是有道理的 …