是否有可能使用1个输入获取像这样的输出?避免php变量重写
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
编辑:我想通过一个单一的表单输入数组。
是否有可能使用1个输入获取像这样的输出?避免php变量重写
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
编辑:我想通过一个单一的表单输入数组。
你的问题有点不清楚,但如果你想用单一形式传递一个数组input
简短的答案是否定的,使用单个元素不能将数组传递到POST数组(除了multi-select form element),但它很容易w ith 微小的一旦你提交处理。你只需要使用的价值分隔符,并在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
或其他方式)$数组[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
您应该在html字段名称中添加有关数组表示法的信息。 :) –
我*认为* OP对单个输入感兴趣 - >多个输出,而不仅仅是如何将数组传递给_POST数组。虽然这个问题不完全清楚 –
不,除非您一次存储一个值,也许使用ajax。
提交多输入名称相同,在这样
<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);
?>
你指的是具有多个输入相同的名称,并能够读取PHP中的所有结果?你不是很清楚。 –
你的意思是隐藏的输入? – hjpotter92
请更改您的问题 - 这并不明显,您需要/想要什么。 –