未定义的偏移0但在var_dump中没有任何未定义

时间:2015-03-02 10:16:01

标签: php arrays laravel

我最近在阵列上遇到了很多错误,我似乎无法想出这个错误。

我收到错误:

  

未定义的偏移量0

所以当然这意味着索引不存在。

现在我犯了这个错误之后的下一件事,我var_dump数组。

首先我会告诉你一些代码:

var_dump($array1);
var_dump($array2);

for($i = 0; $i < count($array1); $i++){
   var_dump($i);
}

注意:$ array1和$ array2中的值相同。因此计算1个数组并在for中使用它将适用于

我尝试在$array1[$i]中使用$array2[$i]for但是当我使用它时,我收到错误。

因此var_dump的结果是:

array(2) {
  [0]=>
  string(5) "value1"
  [1]=>
  string(5) "value2"
}

array(2) {
  [0]=>
  string(5) "value1"
  [1]=>
  string(5) "value2"
}

int(0)
int(1)

错误来自:var_dump($array2[$i]);

我得到数组的方式:

$array2=array_values(Input::get('array2'));

和复选框:

<input type="checkbox" name="array2[]" value="value">

undefined 在这里是什么?据我了解,$array2[$i]应该正常吗?我究竟做错了什么?

1 个答案:

答案 0 :(得分:-2)

你可以做到

foreach($array1 as $key => $value){
    if (isset($array2[$key])){
        // do stuff
    }
}