PHP内联if语句始终返回false

时间:2018-09-03 06:53:21

标签: php if-statement inline

似乎无法正常启动此功能,知道是什么问题吗?如果我按常规方式执行if语句,则变量APP_NAME等于字符串'test'。

function form_radio($data = '', $value = '', $checked = FALSE, $extra = '')

已禁用的参数必须与id放在最后一个参数中。

但是通过这种方式,即使APP_NAME等于“ test”,我也会得到错误的值。

form_radio函数具有以下参数:

25 Active 因此,额外的参数必须是ID,如果值不等于“ test”,则必须是“ disabled”字符串。

1 个答案:

答案 0 :(得分:4)

写作时

'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'