Da ich dein genaues Vorhaben nicht kenne, mir aber ein serialisiertes PHP-Array in einer Datenbank widerstrebt (Weiterverwendung, arbeit mit SQL-Funktionen etc.), schlage ich dir folgendes vor:
Sofern du mit den Werten (GE/ME ob nun Euro/km oder Teuro/m oder wie auch immer) in der DB richtig gut arbeiten willst, dann versuche, einen zentralen, vergleichbaren Wert inkl. Einheit zu finden, z.b. Euro/m. Alle Eingaben rechnest du um und speicherst sie in Euro/m.
Kostentabelle:
Die Einheiten und ihre entsprechenden Faktoren speicherst du in einer separaten Tabelle z.B.
Wenn du nun eine Ausgabe machst, holst du dir über einen join die Bezeichnung und den Faktor der Einheit. Dann rechnest du den Wert wieder zurück und setzt die Einheit dahinter.
Mal ein SQL-Beispiel:
Der Vorteile dieser Herangehensweise sind folgende:
Du kannst sämtliche Einträge miteinander vergleichen um z.B. die höchsten Kosten zu ermitteln, einen Durchschnittswert zu ermitteln oder es mit anderen Daten verknüpfen.
Außerdem können später auch andere Anwendungen/Programmiersprachen drauf zurgreifen, nicht nur PHP.
Über normale Datenbankprogramme kannst du die Daten direkt einsehen ohne erst alles deserialisieren zu müssen.
Dieser Teil des Datenbankschemas entspricht mind. der ersten, aber eigentlich sogar der dritten Normalform.
Nachteile:
Es ist mehr Code-Aufwand beim Speichern und Auslesen gefordert, aber es macht das ganze nicht langsamer!
Überlegs dir einfach ;-)
Und falls dir hier zu viel "fachchinesisch" vorkommt, dann solltest du dich mit dem Thema Datenbanken befassen und ein Buch lesen, was zumindest die Normalformen beinhaltet :-)
Hoffe, ich konnte dir etwas helfen.