我有一個英國郵政編碼列表,旁邊有一個地區編號。現在提供產品的成本更高,取決於用戶所在的地區。如果郵編以郵遞費用開始? Javascript或PHP
例如,如果用戶居住在伯明翰並且郵政編碼以B開頭,他將免費送貨,因爲該郵政編碼區域沒有有任何費用。
同樣,如果用戶有一個以IM開頭的郵編,他們必須支付更多郵遞費,因爲郵政編碼區域更多。
樣品郵政編碼列表:
Postcode | Region
AL | A
BA | A
BB | A
BD | A
B | B
BH | B
LN | D
LS | D
IV1 | E
IV23 | F
從上面的例子中,如果用戶想獲得一個交付和他們的郵政編碼與BA開始,然後我想申請區域A的運費率
我實際上對於如何以編程方式執行此操作有點困惑。起初,我以爲我會簡單地做類似的東西:
$postcodes = [
'AL'=>'A',
'BA'=>'A',
//And so on ....
];
//get the first 2 letters
$user_input = substr($user_postcode, 0, 2);
if(array_key_exists($user_input,$postcodes)){
//Get the region code
$region = $postcodes[$user_input];
// Charge the user with the delivery rate specific to that user, then carry on
}
但問題是,一些類似的郵政編碼可以在不同的區域,因此,例如,IV1是區域E和IV23是區域F像上面看到的。
這意味着我必須匹配1,2,3或4個字符中的用戶郵政編碼。這可能沒有意義。更詳細地說明見下圖:
//From Birmingham and is in region B
$user1_input = 'B';
//From Bradford and is in region A
$user1_input = 'BD';
//From Inverness and is in region E
$user1_input = 'IV1';
因此,如果用戶輸入是來自伯明翰和與B的用戶輸入開始,我怎麼能告訴大家,除此之外也開始爲B卻對郵政編碼中有其它字母,其使其成爲不同的郵政編碼。
我在盡我所能解釋,希望這確實有道理。如果不是,請詢問更多信息。
任何人都可以請幫助我的邏輯,我如何能夠實現這一目標?無論是在Javascript或PHP中,因爲我可以在之後轉換邏輯。