我根據運輸方法獲得不同的文本字符串。例如一個訂單可以返回下列任何一項:基於文本的php陣列和數組映射
productmatrix_Pick-up_at_Store
productmatrix_Standard
productmatrix_3-Day_Delivery
productmatrix_Pick-up_at_Store_-_Rush_Processing
productmatrix_2-Day_Delivery
productmatrix_1-Day_Delivery_-_Rush_Processing
我也有一個「地圖」的生產代碼,我需要配合到這些。關鍵是要匹配的文字。價值是我需要的。地圖看起來是這樣的:
$shipToProductionMap = array(
"1-day" => 'D',
"2-day" => 'E',
"3-day" => 'C',
"standard" => 'Normal',
"pick-up" => 'P'
);
我的目標是創建一個將返回從$shipToProductionMap
基於我傳遞給它的字符串正確的值的函數。喜歡的東西:
function getCorrectShipCode($text){
if(strtolower($text) == if we find a hit in the map){
return $valueFromMap;
}
}
因此,舉例來說,如果我這樣做,我會得到P
作爲返回值:
$result = getCorrectShipCode('productmatrix_Pick-up_at_Store');
//$result = 'P';
如何是最好的辦法做到這一點?
這似乎是一個非常hacky的方式來解決這個問題。您是否無法控制訂單信息如何發送進行處理?爲什麼要傳遞字符串而不是對象或數組,這些對象或數組通過一些字符串比較解決方法精確地告訴您需要知道的內容? –