Intereting Posts
SFTP из PHP – неопределенные константы CURLOPT_PROTOCOLS и CURLPROTO_SFTP? preg_replace только теги OUTSIDE? (… мы не говорим о полном «анализе html», просто немного уценке) cakePHP 3.0 и бутстрап-глификоны Как скомпилировать расширение для PHP 5.3 для Windows как DLL? Как настроить php.ini для использования gmail в качестве почтового сервера Как узнать количество загруженных файлов с помощью PHP? Прерывистая ошибка абстрактного класса PHP Почему я не могу отключить переменную в цикле `foreach`? Оценить перенаправление PHP 404, связанное с неверным запросом на получение Как читать изображения из базы данных MySQL с помощью PHP? Функция PHP для получения статуса Facebook? Запрос Mysql и PHP LIKE не генерирует никаких результатов на странице, но возвращает результат в Mysql Объединение таблиц в MySql с одним общим полем, но разными значениями для общего поля cakephp auth getuser в prefilter Как включить php-класс, который расширяет интерфейс

Как найти среднее значение из массива в php?

Пример:

$a[] = '56'; $a[] = '66'; $a[] = ''; $a[] = '58'; $a[] = '85'; $a[] = ''; $a[] = ''; $a[] = '76'; $a[] = ''; $a[] = '57'; 

Фактически, как найти среднее значение из этого массива, исключая пустые. пожалуйста, помогите решить эту проблему.

сначала вам нужно удалить пустые валы, в противном случае среднее значение будет неточным.

так

 $a = array_filter($a); $average = array_sum($a)/count($a); echo $average; 

DEMO

Принятый ответ работает для значений примера, но в целом просто использование array_filter($a) , вероятно, не очень хорошая идея, потому что он будет отфильтровывать любые фактические нулевые значения, а также строки нулевой длины.

Даже '0' оценивается как false, поэтому вы должны использовать фильтр, который явно исключает строки нулевой длины.

 $a = array_filter($a, function($x) { return $x !== ''; }); $average = array_sum($a) / count($a); 
 echo array_sum($a) / count(array_filter($a));