选择值数组

时间:2012-11-22 16:54:10

标签: php html arrays drop-down-menu

所以基本上,我有一个模块阵列,我希望有一个下拉菜单,用户可以选择他们得到的等级。这工作正常,但是,我希望结果存储在数组中,无论它们选择多少值。例如:

如果有人在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);

}

?>

3 个答案:

答案 0 :(得分:2)

<select name="score[<?php echo $module; ?>]">

应该让你去:) 数组看起来就像你在介绍中缩小它一样。

答案 1 :(得分:1)

只需将您的name属性更改为数组:

echo '<select name="score[]">';

$ _POST变量将在数组中

答案 2 :(得分:1)

您可以使用一个名称将selectPOST的值分组到一个数组中:

echo '<select name="score[]">';

然后您可以使用:

$input = $_POST['score[]'];
foreach($modules as $i=>$module){
    $input[$module] = $input[$i];
    unset($input[$i]);
}
var_dump($input);
相关问题