所以基本上,我有一个模块阵列,我希望有一个下拉菜单,用户可以选择他们得到的等级。这工作正常,但是,我希望结果存储在数组中,无论它们选择多少值。例如:
如果有人在Mod1和Mod2中选择“40”,他们选择“20”,那么数组将是这样的:
MOD1 =→40
MOD2 =→20
...
到目前为止,这是代码,它可能是一些愚蠢的东西,我无法理解它。
<?php
$modules = array('Mod1', 'Mod2', 'Mod3');
if(!isset($_POST['submitted']))
{
echo '<form method="post">';
echo 'Please enter the grades you got for each Module: <br />';
foreach($modules as $module)
{
echo $module . ': <input type="text" name="grades[]" value=""> <br />';
}
echo '<br /><input type="submit" name="submit" value="Go!">';
echo '<input type="hidden" name="submitted" value="TRUE">';
}else{
$input = $_POST['score[]'];
foreach($modules as $i => $module){
$input[$module] = $input[$i];
var_dump($input[$module] = $i);
//unset($input[$i]);
}
//var_dump($input);
}
?>
答案 0 :(得分:2)
<select name="score[<?php echo $module; ?>]">
应该让你去:) 数组看起来就像你在介绍中缩小它一样。
答案 1 :(得分:1)
只需将您的name属性更改为数组:
echo '<select name="score[]">';
$ _POST变量将在数组中
答案 2 :(得分:1)
您可以使用一个名称将select
中POST
的值分组到一个数组中:
echo '<select name="score[]">';
然后您可以使用:
$input = $_POST['score[]'];
foreach($modules as $i=>$module){
$input[$module] = $input[$i];
unset($input[$i]);
}
var_dump($input);