使用多输入复选框获取名称选项和值

时间:2016-01-27 10:23:39

标签: php arrays checkbox

我有一个带有此条目的表单

<input type="checkbox" name="option[repassage]" id="options1" value="10.00"> Repassage 30 mn
<input type="checkbox" name="option[frigo]" id="options2" value="5.00"> Frigo 30 mn

使用php我这样做是为了得到所有选项,我把它们放在一个数组中,但是我无法为'titre_option'和'prix_option'获得正确的值!!!

if (isset($_POST['option'])) {
    foreach ( $_POST['option'] as $key => $value ) {
        $_SESSION['option'][] = array('titre_option' => $_POST['option'][$key], 'prix_option' => $_POST['option'][$value]);
    }
}

// What i get
Array
(
    [0] => Array
        (
            [titre_option] => 10.00
            [prix_option] => 
        )

    [1] => Array
        (
            [titre_option] => 5.00
            [prix_option] => 
        )

)

// What i need
Array
(
    [0] => Array
        (
            [titre_option] => repassage
            [prix_option] => 10.00
        )

    [1] => Array
        (
            [titre_option] => frigo
            [prix_option] => 5.00
        )

)

感谢您的帮助......

1 个答案:

答案 0 :(得分:1)

更改此行

$_SESSION['option'][] = array('titre_option' => $_POST['option'][$key], 'prix_option' => $_POST['option'][$value]);

到此

$_SESSION['option'][] = array('titre_option' => $key, 'prix_option' => $value);

由于foreach循环,您已经拥有了正确的变量,并且不需要再从阵列中获取它们。