Wenn, dann hätte ich die Daten ausgelagert, in eine Datei oder Datenbank. Die von dir genannten Alternativen sind nicht wirklich besser.
Das sowieso - ein dickes Array wo die Zuordnung der Postleitzahlen drin steht und dann wird im script nur noch ausgewertet.
$zonen = array(
1 => array(
'01067',
...
),
2 => array(
...
),
);
Noch schöner ist natürlich eine Postleitzahlenliste/-tabelle wo in einem 2. Feld die Zone steht - das ist einfacher wartbar, da man nicht eine Postleitzahl mehreren Zonen zuordnen kann - außer natürlich, das ist gewünscht, wenn es Überschneidungen gibt - z.B. bei Zuständigkeitsbetreichen von Außendienstmitarbeitern oder wie auch immer.