2015-04-27 2 views
3

Я создаю динамическую форму в Silex, которая изменяется в зависимости от потребности.Динамическое добавление ключа массива PHP

Если $disabled = 'true'

Как бы я изменил:

$form = $app['form.factory']->createBuilder('form') 

->add('email', 'email', array(
    'data' => $from 
)) 

в

$form = $app['form.factory']->createBuilder('form') 

->add('email', 'email', array(
    'disabled' => true, 
    'data' => $from 
)) 
+1

Просто замечание общего порядка - быть осторожным с «истинным» как boolean value и 'true' в виде строки. Кажется, вы используете оба варианта, что может быть неудачным. И ответ ниже также сравнивает потенциально логическое значение со строкой, что неверно. – astax

ответ

2

Вы можете выполнить это следующим образом:

$form = $app['form.factory']->createBuilder('form'); 

$options = array(
    'data' => $from 
); 

if($disabled == 'true'){ 
    $options['disabled'] = true; 
} 

$form->add('email', 'email', $options) 
+0

Отлично, спасибо –

Смежные вопросы