我想检查PHP多重条件的构造是否正确。
if ($role == 'admin') :
$active_admin = 'active';
elseif ($role == 'mods') :
$active_mods = 'active';
elseif ($role == 'writer') :
$active_writer = 'active';
endif;
然而,我注意到在我的class属性中有未定义的变量。我想知道的是,"我需要创造额外的条件来避免得到未定义的变量吗?"
因为在这个语句中,admin被初始化为活动角色,然后其余的都是空闲的。我在源代码中查看后收到此通知。
<br />
<b>Notice</b>: Undefined variable: active_admin in...
感谢您的建议或意见。感谢。
您可以在命令前面加上@来抑制该消息。尽管在生产环境中应该关闭通知。初始化变量也会消除通知,但我相信您在后面的行中会收到通知。
示例:
$active_admin = '';
$active_writer = '';
$active_mods = '';
等等。
这实现了与您的代码相同的效果:
$role = 'admin';
${"active_$role"} = 'active';
echo $active_admin;