配列の長さをチェックしていて、ループから抜け出す必要があると思っていても、 [else if ($value....] 行でまだ警告が表示されます。重要な何かが欠けているか、このコード セグメントを長時間見つめていて、それが明らかでした。
$count = count($filter); //Filter is an array
if ($count > 1 ){
//Compare values and generate a range to choose from
$i = 1;
foreach($filter as $value){
//Break the loop if at the end of the array
if ($i >= $count){
//throw new exception($i .' '.$count);
break;
}
//if the value is smaller then the next procceding value, because they are already in order of presidence,
//add it to our range of potentials.
else if($value < $filter[$i]->value){
array_push($range, key($filter));
}
$i++;
}
}else {
return false;
}