массивы — PHP деление на ноль, но возвращает 1,33

На странице, где я сравниваю анкеты, я вычисляю среднее для обоих. Однако определенная строка кода всегда заканчивается делением на ноль независимо от того, какие числа я ввожу. Код:

<?php foreach($questions as $question) : ?>
<?= Html::tag('h4', $question->question) ?>
<?php
//FIRST SET OF QUESTIONNAIRES
$answers1 = $questionnaires1->andWhere(['id_question' => $question->id]);
$all1 = [];
foreach($answers1->orderBy(['answer' => SORT_ASC])->all() as $answer1){
$all1[] = $answer1->answer;
}
$array1 = [
Yii::t('app', 'Number of answers') => $answers1->count(),
Yii::t('app', 'Average answer') => round(array_sum($all1)/count($all1), 2),
Yii::t('app', 'Median') => calculate_median($all1),
Yii::t('app', 'Standard deviation') => round(sd($all1), 2)
];

Сначала я сохраняю каждый отдельный ответ в массиве и сортирую его по возрастанию. Затем я вычисляю среднее значение, добавляя каждое значение в массив, делив его на количество записей в массиве. Я также округляю результат до 2 десятичных знаков.

По какой-то причине round(array_sum($all1)/count($all1), 2) всегда приводит к отклонению на ноль. Я проверил оба значения перед выполнением расчета, т.е. 4/3. Это должно, очевидно, привести к 1.3333333.

Наконец, когда я пытаюсь echo var_dump(round(array_sum($all1)/count($all1), 2)) он возвращает float (1.33), как и ожидалось … Может быть, я пропускаю что-то очень простое здесь, но я не вижу этого.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]