У меня возникли проблемы с циклическим просмотром массива и сравнением каждого значения с другим. В настоящее время моя функция работает, но сравнивает значения только в наборах по два. Например, если в значении «Начало» у меня было:
1:05am
1:10am
1:30am
1: 35 утра.
Я бы получил результаты:
5 минут (время между 1:05 и 1:10) и
5 минут (время между 1:05 и 1:10). время между 1:30 и 1:35)
Но мне не хватает времени между 1:10 и 1:30. Следующий цикл даст мне время между следующими двумя значениями, игнорируя время между 1:35 и следующим. Функция предназначена для silverstripe, которая использует списки данных, но шаблон должен быть таким же, как и в любом массиве? Буду признателен за любую информацию.
function timeCount()
{
$times = $this->Meetings()->sort('Start');
$lastTime = null;
foreach ($times as $time) {
if ($lastTime == null) {
$lastTime = $time;
continue;
}
$time = strtotime($time->Start);
$lastTime = strtotime($lastTime->Start);
//For debugging
$diff = round(abs($time - $lastTime) / 60, 2) . " minute | ";
$lastTime = null;
var_dump($diff);
}
}
Подробнее здесь: https://stackoverflow.com/questions/170 ... flat-array