我必须计算从查询中获取的数组的值,如果有多个元素,否则我必须返回元素的值,我正在使用此代码:
function calculate_average($arr) {
if (count($arr) === 1) {
$average = $arr;
} else {
sort($arr);
$count = count($arr); //count items in array
$sum = array_sum($arr); //sum of numbers in array
$median = $sum / $count; //divide sum by count
$average = ceil($median); //convert number in excess value
}
return $average;
}
当有两个或更多值时工作,但只有一个值时返回NULL,为什么?
感谢所有想参加会议的人。
答案 0 :(得分:1)
如上所述,要按照您尝试的方式进行操作,您需要访问数组的第一个元素,如
$average = $arr[0];
但是,计算平均值的方法仍适用于包含一个元素的数组。它只需要x / 1。
function calculate_average($arr) {
$count = count($arr); //count items in array
$sum = array_sum($arr); //sum of numbers in array
$median = $sum / $count; //divide sum by count
$average = ceil($median); //round number
return $average;
}
答案 1 :(得分:0)
请试试这个:
function calculate_average($arr) {
if (count($arr) === 1) {
$average = $arr[0];
} else {
sort($arr);
$count = count($arr); //count items in array
$sum = array_sum($arr); //sum of numbers in array
$median = $sum / $count; //divide sum by count
$average = ceil($median); //convert number in excess value
}
return $average;
}