2015-10-16 108 views
0

我有支付方法的数据库枚举,例如,信用卡,支票等从数组中删除枚举项PHP

我有多个地方的代码引用此,但在一个实例中,我想引用它,但排除列表中的一个项目。

最好还是引用这个枚举,而不是手动添加一个新数组,因为如果枚举本身发生变化,我可能会遇到问题。虽然如果我参考它排除一个项目:如果枚举更改,这段代码也会如此。

目前我有:

public function PrepareInputs() 
{ 
    parent::PrepareInputs(); 

    $this->AddInputs(
     $checkbox = new PgFormInputCheckBox2("Prefulfilled"), 
     new PgFormInputSubmit("Back", "Change Order", "start"), 
     **$paymentMethod = new PgFormInputSelect("PaymentMethod", "", true),** 
     $submit = new PgFormInputSubmit("PlaceOrder", "Place Order", "place", true) 
    ); 
    $checkbox->printLabel = true; 
    **$paymentMethod->enumeration = array("tblOrder.PaymentMethod"); 
    $paymentMethod->manualOptions = array(":Please select");** 
} 

任何提示吗?

回答

1

如果这是一个您希望表现不同的实例,则将该异常本地化为该实例。

因此,例如,在网站的其他部分,您通常会通过付款方式进行循环。但是,在处理异常时,请正常迭代数组,但在循环中排除。然后,如果有什么变化等,它只在一个地方,破损的几率几乎不存在和包容。

foreach($PaymentMethods as $k => $v){ 
    if($k !== 'SpecificMethodYouWantToExclude'){ 
     echo "$v": 
    } 
}