Я должен вычислить значение массива, взятого из запроса, только если в нем было более одного элемента, иначе я должен вернуть значение элемента, я использую этот код:
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, когда есть только одно значение, почему?
Спасибо всем, кто хочет принять участие.
Как уже было сказано, чтобы сделать это так, как вы пытаетесь, вам нужно получить доступ к первому элементу вашего массива, как
$average = $arr[0];
Тем не менее, ваш метод расчета среднего по-прежнему будет работать для массива с одним элементом. Это просто сработает до х / 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;
}
Пожалуйста, попробуйте это:
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;
}