$databaseObjects = Database::instance()->query('SELECT * FROM table');
foreach ($databaseObjects as $key => $value) {
echo "(key: $key, value: $value)";
if ($key + 1 < count($objects))
$nextObject = $objects[$key + 1];
}
Учитывая массив объектов базы данных из Коханы, вышеуказанный цикл пропустит все нечетные ключи. Причина этого в том, что доступ к $ objects [$ key + 1] увеличивает $ key. Я не понимаю причины этого. С каких пор оператор доступа к массиву увеличил ключ?, когда php foreach увеличивает индекс?
Это недопустимый код: вам не хватает ')' на строке 'if'. Кроме того, ['$ key + 1' не увеличивает' $ key'] (http://codepad.org/jPWwm4zq). Если вы попытались упростить код, вы удалили всю область проблем. –