我正在使用 Laravel 5 开发一个以二维数组作为输入的 HTML 表单。目的是存储一些联系人,每个联系人的输入字段可以由 JQuery 动态添加或删除。
我想使用空括号 [] 这样就不需要维护索引。所以我尝试了 2 例 HTML 表单输入代码。以下是简化示例:
情况1:
Person 1:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">
Person 2:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">
但是我使用 die dump 检查的数组即dd($request->input('contacts'));
返回:
array:4 [
0 => array:1 ["surname" => "Some Value" ]
1 => array:1 ["first_name" => "Some Value" ]
2 => array:1 ["surname" => "Some Value" ]
3 => array:1 ["first_name" => "Some Value" ]
]
让我们暂时忘记复选框输入,因为它在未选中时根本不会返回任何内容。话虽如此,我已将其包含在此处,以防它是问题的根源。
案例2
Person 1:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">
Person 2:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">
模具转储即dd($request->input('contacts'));
返回以下:
array:2 [
"surname" => array:2 [
0 => "Some Value"
1 => "Some Value"
]
"first_name" => array:2 [
0 => "Some Value"
1 => "Some Value"
]
]
我想要的是
这给我们带来了这个问题。这是我想要的结果:
array:2 [
0 => array:2 [
"surname" => "Some Value"
"first_name" => "Some Value"
]
1 => array:2 [
"surname" => "Some Value"
"first_name" => "Some Value"
]
]
有没有办法做到这一点,如果是,我该如何实现?这是否意味着我必须维护一个索引?