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" );**
}

Какие-нибудь советы?

0

Решение

Если это один экземпляр, который вы хотите вести себя по-другому, то локализуйте исключение для этого одного экземпляра.

Так, например, на остальной части сайта вы регулярно просматриваете способы оплаты. Но когда вы имеете дело с вашим исключением, выполняйте итерацию массива в обычном режиме, но исключайте его во время цикла. Затем, если что-то изменится и т. Д., Это только в одном месте, и вероятность поломки практически не существует и сдерживается.

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector