我想检查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...
感谢您的建议或意见。欣赏它。
答案 0 :(得分:1)
您可以在命令前加上@来抑制该消息。虽然应该在生产环境中关闭通知。初始化变量也会消除通知,但我相信您会在稍后的行中收到通知。
示例:
$active_admin = '';
$active_writer = '';
$active_mods = '';
等
这与您的代码相同:
$role = 'admin';
${"active_$role"} = 'active';
echo $active_admin;