Мне было трудно найти голову вокруг этого маленького фрагмента кода.Loop and AND условная статья
protected function compressLowest($lowest){
$result = array();
$result['morning'] = array();
$result['afternoon'] = array();
$result['evening'] = array();
$result['allDay'] = array();
$type = $this->prices->getCondType();
$lastDate = 0;
$i = array();
$i['morning'] = $i['afternoon'] = $i['evening'] = $i['allDay'] = 0;
foreach($lowest as $date => $prices){
foreach($prices as $range => $price) {
if($this->isNextDay($date, $result[$range][$i[$range]]['to']) && $result[$range][$i[$range]]['price'] == $price){
$result[$range][$i[$range]]['to'] = $date;
} else {
$i[$range] = count($result[$range]);
$result[$range][] = array();
$result[$range][$i[$range]]['from'] = $date;
$result[$range][$i[$range]]['to'] = $date;
$result[$range][$i[$range]]['price'] = $price;
$result[$range][$i[$range]]['destime']=$this->arr['destime'];
$result[$range][$i[$range]]['deptime']=$this->arr['deptime'];
$result[$range][$i[$range]]['flight']=$this->arr['flight'];
}
}
$lastDate = $date;
}
//print_r($result);exit();
return $result;
}
И IsNextDay проверяется следующим образом
protected function isNextDay($next, $day){
if($next - $day == 86400){ //60*60*24 = 86400
return true;
} else {
return false;
}
}
Я не могу понять, что isNextDay($date, $result[$range][$i[$range]]['to']) && $result[$range][$i[$range]]['price'] == $price)
должно означать (в $ день вещь)? в условном условии if для второго цикла в приведенной выше функции. Спасибо, если вы поможете мне понять.
UPDATE * К сожалению, я не читал внимательно, пока я не обнаружил там было) после того, как в результате [] [] [ «к»] ... спасибо за заботу. *
Для исходного кода, у меня всегда есть уведомление о НЕ УКАЗАННЫЙ СМЕЩЕНИЕ 0. Как исправить эту ошибку?
В какой строке вы получаете неопределенное смещение? –
Все права защищены. – Giovani