我有以下代码段:
public function getShippingData()
{
return array(
'shipping_method' => $this->order->getShippingService(),
'shipping_price' => $this->getBaseShippingPrice(),
'carrier_title' => Mage::helper('M2ePro')->__('Amazon Shipping')
);
}
我想更改此内容以替换shipping_method的值。即
if ($shipping_method == 'valuea') {
$shipping_method = 'value1';
}
if ($shipping_method == 'something') {
$shipping_method = 'somethingelse';
}
我有完整的场景列表,所以根据shipping_method的值,我希望它等于其他东西。是否有更好的方法来实现这一目标,而不是拥有100个if语句?
答案 0 :(得分:2)
我为此创建一个数组,并根据键替换该值。
$new_shipping_methods = array(
'valueA' => 'value1',
'valueB' => 'value2',
// ...
);
$shipping_method = $new_shipping_methods[$shipping_method];
答案 1 :(得分:0)
查看switch控制结构。正是你需要的,不同的选项取决于一个变量,消除了很多if。