似乎无法正常启动,知道问题出在哪里吗?变量APP_NAME等于字符串'test',如果我以常规方式执行if语句,它将正常工作。
<?=form_radio('filter', 'y', $info['enable_categories'] == 'y' ? true : false, 'id="app" '.APP_NAME == "test" ? '' : 'disabled'.'')?>
功能表\u radio具有以下参数:
function form_radio($data = '', $value = '', $checked = FALSE, $extra = '') 因此,额外的参数必须是ID,如果值不等于'test',则还必须是“disabled”字符串。
function form_radio($data = '', $value = '', $checked = FALSE, $extra = '')
当你写作的时候
'id="app" '.APP_NAME == "test" ? '' : 'disabled'.''
这个 operator precedence 使其评估为
('id="app" '.APP_NAME) == "test" ? '' : 'disabled'.''
所以你应该在三元子句周围加括号:
'id="app" '.(APP_NAME == "test" ? '' : 'disabled'.'')
你也可以摆脱 .'' . 还有这个条款
.''
$info['enable_categories'] == 'y' ? true : false
可以简化为
$info['enable_categories'] == 'y'