我的“if”语句有什么问题?

What is wrong with my `if` statement?

提问人:Ryan 提问时间:2/24/2009 最后编辑:GalghamonRyan 更新时间:7/27/2009 访问量:342

问:

我使用一个 if 语句来声明用户是管理员、mod 还是两者都不是,下面的代码,但它总是让 $status = “admin” 搞砸了,即使那个人都不是,这真的让我感到困惑。

if($info['rights'] == "m") {
    $status = '<font color="#FFFFFF">(mod)</font>';
}elseif ($info['rights'] == "a"); {
    $status = '<font color="#FFFFFF">(admin)</font>';
}
php 语法 if-statement

评论

1赞 Stevo 2/24/2009
伙计,一旦向您指出错误,您就无法编辑您的问题以删除错误。它现在使公认的答案变得无意义。

答:

16赞 Aistina 2/24/2009 #1

您似乎不小心在elseif后面添加了一个分号(;),因此第二个代码块总是被执行。

评论

0赞 BoltBait 2/24/2009
是的,去掉第 3 行的分号,一切都应该按计划进行。
4赞 Ankur 2/24/2009 #2

“a”后面应该有一个分号吗)?

评论

0赞 dassouki 7/27/2009
@Ryan:你应该,我花了一个月的时间试图弄清楚我在代码中做错了什么。在一个文件中,我有$bla,在另一个文件中,我有$b 1a
1赞 Keith 2/24/2009 #3

$info申报了吗?$info在哪里定义和分配?

2赞 taras 2/24/2009 #4

您的代码中存在语法错误。

您可以尝试以下操作:

if($info['rights'] == "m") {
  $status = '<font color="#FFFFFF">(mod)</font>';
} else if ($info['rights'] == "a") {
  $status = '<font color="#FFFFFF">(admin)</font>';
}

评论

1赞 recursive 2/24/2009
提示:使用所有三个字母拼出“你”这个词。
0赞 taras 3/4/2009
如果只用“U”保存我的 ms 时间,为什么我必须使用“你”?
1赞 ryeguy 7/27/2009
因为说 u 而不是 you 会让你听起来像一个 13 岁的女孩在 AIM 上和她的朋友聊天。
0赞 nawfal 4/24/2013
这还不够。U是可以理解的,可能不如年那么多。在互联网论坛上还不错。我见过iow,ymmv,tl;dr、imo、ftw、仅供参考 经常在 SO 上,甚至来自知名用户