parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Обработка данных в массиве

leeloo 26.06.2019 11:49

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

Задача такая, есть записи в таблице у каждой несколько параметров и каждый параметр имеет значения: 2, 1, 0 и "н"(нет оценки)

Нужно считать средний балл в процентах.

Раньше Н и 0 - были равнозначными и я считала прямо из базы данных запросом:
SELECT p1+p2+p3 as mark ... 
А потом в парсере:
$result.mark просто делила на три и множила на 100. Получалась средняя оценка в процентах.
Например:
Qwert  2  2  2  -- 100%
Asdf   1  1  1  -- 50%
Zxcvb  0  0  0  -- 0%
Tyui   2  1  0  -- 50%
Сейчас же добавился параметр Н (нет оценки). И результат должен быть только на основании тех параметров, у которых оценка есть. Например
Qwert  2  2  2  -- 100%
Asdf   2  Н  Н  -- 100%
Zxcvb  1  1  Н  -- 50%
Tyui   Н  Н  0  -- 0%
Jkjkj  2  1  Н  -- 75%
И тут я уже не знаю как оптимальнее всего поступить(
Буду очень благодарна за, хотя бы идею, как это реализовать