从数组PHP中删除枚举项

时间:2015-10-16 14:37:40

标签: php enums

我有付款方式的数据库枚举,例如信用卡,支票等。

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

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

目前我有:

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 个答案:

答案 0 :(得分:1)

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

例如,在网站的其余部分,您可以正常迭代付款方式。但是,当您处理异常时,正常迭代数组,但在循环期间排除。然后,如果有任何变化等,它只在一个地方,破损的可能性几乎不存在和包含。

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