我有以下IF声明:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$style = "display: inline";
}
else {
$style = "display: none";
}
这很有效。现在我想在$style = "display:inline";
所以我想,我用AND做了另一个IF,所以IF display = inline AND user没有登录,设置$fb_login = "display: inline";
我已经编写了这段代码:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$style = "display: inline";
}
else {
$style = "display: none";
}
if ($style = "display: inline") && (!$user)) {
$fb_login = "display: inline";
}
else {
$fb_login = "display: none";
}
问题是我收到错误:解析错误:语法错误,意外T_BOOLEAN_AND
还尝试使用AND代替&&但它给出了相同的结果。我在这里做错了什么?
答案 0 :(得分:3)
=
)应该是比较运算符(==
))
)if ($style == "display: inline" && !$user) {
$fb_login = "display: inline";
}
答案 1 :(得分:2)
您错过了(
if (($style == "display: inline") && (!$user)) {
答案 2 :(得分:2)
你错过了这一行的支架
if ($style = "display: inline") && (!$user)) {
应该是
if (($style == "display: inline") && (!$user)) {
但是你应该问问自己是否应该以不同的方式处理这个问题。您获得的代码非常特定于输出,您可能更容易出于可维护性的原因首先执行逻辑然后再显示您的逻辑。像这样:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$mahjongRequest = true;
}
else {
$mahjongRequest = false;
}
if ($mahjongRequest && (!$user)) {
$fb_login = true;
}
else {
$fb_login = false;
}
此外,您可能希望查看初始IF语句。我并不完全清楚你想要实现的目标,并且可能有一种更简单,更易读的方法。