2015-03-02 18 views
1

最近我收到很多數組錯誤,而且我似乎根本不知道這一個。未定義的偏移量0,但沒有在var_dump中定義的不確定度

我得到的錯誤:

Undefined offset 0

所以當然,這意味着該指數不存在。

現在接下來我做了這個錯誤之後,我的數組是var_dump

首先,我會告訴你一些代碼:

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

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

注:值在$ array1中的金額和$數組2是相同的。所以計數1個陣列,並用它在爲將兩個

我嘗試使用在for$array1[$i]$array2[$i]但是當我使用,我得到的錯誤工作。

所以的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]應該正常工作?我究竟做錯了什麼?

+0

後,使錯誤太 – Phate01 2015-03-02 10:17:49

+0

@ Phate01我只是'的var_dump($數組1 [$ i])的代碼;'和'的var_dump($數組2 [$ i]) ;'這就是錯誤發生的地方 – Loko 2015-03-02 10:19:03

+0

你在哪裏做'var_dump($ array1 [$ i]);'? 你不應該使用'var_dump($ array2 []);',而是隻使用像你的第一個例子'var_dump($ array2);' – lmarcelocc 2015-03-02 10:21:57

回答

-2

你可以做

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