我很难理解这段代码。
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)
应该是什么意思($ day事情)?
在上面函数中第二个for循环的if条件子句中。谢谢你,如果你能帮助我理解。
更新 * 很抱歉,在结果[] [] ['to']后,我没有仔细阅读,直到我发现... ...感谢您的关注。 *
对于上面的源代码,我总是注意到 UNDEFINED OFFSET 0 。如何解决这个错误?
答案 0 :(得分:0)
对于if
行的Undefined Offset 0,某些索引的计算结果为0
,而您使用该索引的数组在该索引处没有元素。
例如(如果$range
为0
并且$result[0]
不存在,我将不会列出所有可能性。