我想要显示a,b或c。现在发生的事情是c总是出现,即使满足前两个if语句中的一个。
谢谢!
<?php
if(isset($_SESSION['member_email'])){
echo 'a';
}
if ($user->isAuthorized())
{
echo 'b';
}
else {
echo 'c';
}
?>
答案 0 :(得分:3)
在这种情况下,您可以获得
试
if(isset($_SESSION['member_email'])){
echo 'a';
} elseif ($user->isAuthorized()) {
echo 'b';
} else {
echo 'c';
}
答案 1 :(得分:2)
你错过了'a'和'b'部分之间的其他内容:
if (...) {
a
} else if (...) {
b
} else if (...) {
c
}
是您想要的基本结构。这只会执行一个a / b / c部分。现在,你的代码执行'a'部分,然后执行b OR c部分。
答案 2 :(得分:1)
考虑将第二个if更改为else,这样可以解决你的问题,如果一个if语句失败,它会转到它可以在链中找到的第一个(如果有的话)
答案 3 :(得分:0)