是否可以仅使用 1 个输入获得这样的输出?
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
编辑:我正在尝试使用单个表单输入传递一个数组。
是否可以仅使用 1 个输入获得这样的输出?
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
编辑:我正在尝试使用单个表单输入传递一个数组。
要提交具有相同名称的多个输入,[]
请在末尾附加括号,如下所示
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
另一方面,bob
将是一个数组:
<?php
$Bob = (isset($_POST['bob']) === TRUE ? $_POST['bob'] array());
echo 'RES:'. implode(',', $Bob);
?>
不,除非您使用 ajax 一次存储一个值,否则不会。
您的问题有点不清楚,但是如果您尝试使用单个表单传递数组,input
那么简短的回答是否定的,使用单个元素您不能将数组传递到 POST 数组(多选表单除外element ),但是一旦提交,只需进行一点处理就很容易了。您只需在值上使用分隔符并在 PHP 中将其分解:
在 HTML 中:
<input name="value" value="1|2|4|4|5" />
在 PHP 中
$values = explode('|',$_POST['value']);
这将导致:
$values[0] == 1;
$values[1] == 2;
...
然而,从来没有办法让一个 PHP 数组同时为一个键具有多个值,所以你永远不会有一个看起来像这样的 PHP 数组:
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
因为对于任何数组(_POST
或其他),$array[KEY] 都不能有两个值(即,怎么可能if ($_POST['value'] === $_POST['value'])
不为真?它不能,任何更多if ($x===$x)
或if (1===1)
可以是假的)。但是,您可以使用多维数组,如下所示:
$_POST['value'][0] = 1;
$_POST['value'][1] = 2;
$_POST['value'][2] = 3;
$_POST['value'][3] = 'etc';
然后通过以下方式使用它:
foreach($_POST['value'] as $key =>$value){
echo $value.',';
}
这将输出
1,2,3,etc