我有一个具有可拖动元素的表单,这些元素被放入隐藏的输入字段中。我有一个PHP脚本获取值并将它们添加到一个数组,然后将其添加到数据库中。然后我回显数组的内容和数组长度。至少那是它应该做的事情。但是,array_push函数更像是array_pop,因为它返回了添加到数组中的最后一个元素并将计数保持为1.我将如何循环并查找每个输入值?对不起,如果问题标题含糊不清。
HTML
<input type='hidden' name='findCat[]' id='findCat' value='" +cat.toUpperCase()+ "' />
PHP
if($_POST['submit'] == TRUE){
$findCat = $_POST['findCat'];
$emerg_array = array($findCat);
$arrayLength = count($emerg_array);
for($i = 0; $i < $arrayLength; $i++){
echo $emerg_array[$i] .'<br>';
}
echo $arrayLength;
}
输出
阵列
1
无论数组中有多少元素。
答案 0 :(得分:1)
通过在名称中添加[]
,您可以轻松创建包含任何表单元素的数组。
<input type='hidden' name='array[]' value='1234'>
<input type='hidden' name='array[]' value='5678'>
$_POST['array']
将包含1234,5678。
答案 1 :(得分:0)
这是一个有效的简化示例:
<?php
if (!isset($_POST['sub'])) {
echo "<html><body>
<form method='post'>
<input type='hidden' name='findCat[]' value='1'>
<input type='hidden' name='findCat[]' value='2'>
<input type='hidden' name='findCat[]' value='3'>
<input type='submit' name='sub' value='submit'>
</form>
</body></html>";
} else {
$findCat = $_POST['findCat'];
var_dump($findCat); // displays array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" }
}
?>
可能是你的secure
函数正在破坏数组吗?