最近我在数组中遇到了很多错误,我似乎根本无法解决这个问题。
我得到错误:
未定义偏移量0
所以这当然意味着该指数不存在。
现在,在这个错误之后,我做的下一件事是var_dump
数组。
首先我给你看一些代码:
var_dump($array1);
var_dump($array2);
for($i = 0; $i < count($array1); $i++){
var_dump($i);
}
注意:$array1和$array2中的值数量相同。因此,计数1个数组并在for中使用它对两个都有效
我尝试在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">
什么是未定义?据我所知,$array2[$i]
应该正常工作吗?我做错了什么?
您可以直接执行
foreach($array1 as $key => $value){
if (isset($array2[$key])){
// do stuff
}
}