数组索引自动从1开始

时间:2015-03-02 09:19:07

标签: php html arrays laravel checkbox

我有2种输入类型。我有4个选择框和4个隐藏字段的复选框。复选框具有相同的名称和选择框。提交后,我这样做:

var_dump(Input::get(checkboxname));
var_dump(Input::get(selectboxname));

哪个输出:

array(4) { 
  [1]=>   string(5) "value"   
  [2]=>   string(5) "value"  
  [3]=>   string(5) "value" 
  [4]=>   string(5) "value" 
} 
array(4) {  
  [0]=>   string(5) "value"  
  [1]=>   string(5) "value"   
  [2]=>   string(5) "value"
  [3]=>   string(5) "value" 
}

这是我的选择框:

<select name="selectboxname[]" >
//values in a complicated for loop that's not important but it works
</select>

这是我的复选框:

<input  type='hidden' value='othervalue' name='checkboxname[]'>
<input  type="checkbox" name="checkboxname[]" value="value">

在数组中,复选框的索引如下:1,2,3,4,选择框有0,1,2,3。我必须让索引与彼此匹配。我通常知道索引从0开始,所以选择框正在做正确的事。这里出了什么问题?

5 个答案:

答案 0 :(得分:1)

如果要从零开始重新索引数组,只需执行以下操作:

array_values(Input::get('checkboxname'));

答案 1 :(得分:0)

<input  type='hidden' value='othervalue' name='checkboxname[]'>
<input  type="checkbox" name="checkboxname[]" value="value">

似乎类型=&#39;隐藏&#39;成为复选框名称[0]。

答案 2 :(得分:0)

如果您想要未经检查的值,也许您应该在名称中使用数字:

<input  type='hidden' value='othervalue' name='checkboxname[0]'>
<input  type="checkbox" name="checkboxname[0]" value="value">
<input  type='hidden' value='othervalue' name='checkboxname[1]'>
<input  type="checkbox" name="checkboxname[1]" value="value">

答案 3 :(得分:0)

我的猜测是它与laravel如何处理输入($ _ POST或$ _GET)

有关

为您正在使用的(POST或GET)执行var_dump并查看。最好直接从$ _ arrays中访问这些值。

答案 4 :(得分:0)

尝试array_values重新索引数组

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

输出:

Array
(
    [0] => XL
    [1] => gold
)