Помните, что массивы PHP основаны на нуле ... когда вы достигаете последнего элемента в нем, вы пытаетесь получить значение из $ records [$ i + 1] -> id, где $ i может быть индексомПоследний элемент, но с добавлением «плюс один» не существует!
старайтесь избегать использования foreach и используйте простую форму FOR ..
// Not like this
foreach($records as $i=>$r)
if($r->id == $currentId)
return $records[$i+1]->id ? $records[$i+1]->id : NULL;
// I recommend
for($i=0; $i<sizeof($records); $i++){
if(isset($records[$i]) && $records[$i]->id == $currentId)
return $records[$i]->id;
}
плохой английский, но я надеюсь, что объяснил.
Привет от Mx.