如何解析JSON格式的复选框多维数组?

时间:2017-06-08 11:10:04

标签: php arrays json laravel

我不确定标题是否正确。实际应用是一个测验。好吧,让我来说明这一点,这是我的样本片段。



   <form method="POST"> 
    
    Softdrinks:
    <div class="checkbox">
       <label><input type="checkbox" name="question[1]answer[]" value="Coke">Coke</label>
    </div>
    <div class="checkbox">
       <label><input type="checkbox" name="question[1]answer[]" value="Royal">Royal</label>
    </div>
    
    Coffee :
    
    <div class="checkbox">
       <label><input type="checkbox" name="question[2]answer[]" value="Cappuccino">Cappuccino</label>
    </div>
    <div class="checkbox">
       <label><input type="checkbox" name="question[2]answer[]" value="Latte">Latte</label>
    </div>
    
    <button type="submit">Submit</button>
    
    </form>
&#13;
&#13;
&#13;

我们假设检查了所有选项。但是当提交表单时,输出是这样的:

"question":{
    "1":"Coke",
    "2":"Cappuccino"
}

所以&#34; Royal&#34;和#34;拿铁咖啡&#34;被跳过,我不知道为什么。我希望输出应该是这样的:

"question":[
    "1": {
        "Coke",
        "Royal"
    }
    "2": {
        "Latte",
        "Cappuccino"
    }
]

1 个答案:

答案 0 :(得分:1)

元素上的name属性不正确。试试这个

<form method="POST"> 

Softdrinks:
<div class="checkbox">
   <label><input type="checkbox" name="question[1][]" value="Coke">Coke</label>
</div>
<div class="checkbox">
   <label><input type="checkbox" name="question[1][]" value="Royal">Royal</label>
</div>

Coffee :

<div class="checkbox">
   <label><input type="checkbox" name="question[2][]" value="Cappuccino">Cappuccino</label>
</div>
<div class="checkbox">
   <label><input type="checkbox" name="question[2][]" value="Latte">Latte</label>
</div>

<button type="submit">Submit</button>

</form>

它应该导致以下输出

"question":[
    "1": {
        "Coke",
        "Royal"
    }
    "2": {
        "Latte",
        "Cappuccino"
    }
]