在尝试运行以下代码时,我的浏览器会一直响应以下错误。如何修复以下代码,以便这些错误不再出现?
要清楚,这些错误仅出现在包含以下各项的行中:
$ high = $ arr [$ middleval + 1];
$ median =(($ low + $ high)/ 2);
由于
代码:
function median($arr)
{
sort($arr);
$count = count($arr); //count the number of values in array
$middleval = floor(($count-1)/2); // find the middle value, or the lowest middle value
if ($count % 2) { // odd number, middle is the median
$median = $arr[$middleval];
} else { // even number, calculate avg of 2 medians
$low = $matches[0];
$high = $arr[$middleval+1];
$median = (($low+$high)/2);
}
return $median;
}
错误:
注意:未定义的偏移量:第9行的medium.php中的0
注意:未定义的变量:在第10行的medium.php中匹配
答案 0 :(得分:0)
Undefined offset
是一个越界错误:您正在尝试从不存在的数组中获取值。例如。如果您的数组有两个值,索引为0
和1
,而$middleval
等于1
,则$arr
的值不会为{{ 1}},即未设置$middleval + 1
。
第二条错误消息告诉您,您正在尝试使用未定义的变量$arr[2]
。
您可能需要查看this code review answer。