Ich habe nicht alle anderen Beiträge gelesen, man vergebe mir falls das schon wo steht.
Du vermischst bunt Strings und Zahlen, das ist das ekelhafte an nicht typsicheren Sprachen. Man kann alles mögliche durcheinander machen ohne dass man Fehlermeldungen kriegt. Man kriegt nur still und leise falsche Ergebnisse, ohne Anhaltspunkt warum. Du solltest die alles einfach mal ausgeben lassen und prüfen.
Was in $array steht weiß ich nicht, genausowenig was menge für eine Zahl ist. Und erst recht nicht was da wie in der Tabelle steht und wie du das ausliest.
Das einzige das mir auffällt ist 4*24=96. Vielleicht hakt es da irgendwo, dass die 4.2 nur als 4 erkannt wird und das dann mit der 96 multipliziert wird?