Хорошо, если вы не хотите сначала сохранить значение в переменную, тогда вы можете сделать это.
сохранение массива в 2 этапа.
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => '',
'settings' => array(
'ka_type' => 'BBQ',
),
),
);
$widgets['ka']['controller'] = $widgets['ka']['settings']['ka_type'].'Widget';
ИЛИ если есть больше, чем просто Ка, вы можете зациклить его как
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => '',
'settings' => array(
'ka_type' => 'BBQ',
),
),
);
Foreach($widgets as $name=>$val){
$widget[$wid]['controller'] = $val['settings']['ka_type'].'Widget';
}
Надеюсь, это поможет