首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if语句中的意外T_BOOLEAN_AND错误

if语句中的意外T_BOOLEAN_AND错误
EN

Stack Overflow用户
提问于 2011-12-29 13:29:04
回答 3查看 5.6K关注 0票数 1

我有以下如果声明:

代码语言:javascript
复制
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";
}

这个很好用。现在我想显示一个Facebook登录屏幕当$style = "display:inline";

所以我想,我用AND做了另一个IF,所以如果display = inline没有登录,设置$fb_login = "display: inline";

我已经编出了这个代码:

代码语言:javascript
复制
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

也尝试使用,而不是&但是它给出了同样的结果。我在这里做错什么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-29 13:30:24

您的赋值运算符( (==)

  • There )应该是一个比较运算符,())

  • I是一个不必要的括号,())

  • I还去掉了第二个条件

周围的一些不必要的括号。

代码语言:javascript
复制
if ($style == "display: inline" && !$user) {
    $fb_login = "display: inline";
}
票数 3
EN

Stack Overflow用户

发布于 2011-12-29 13:31:18

你错过了一个(

代码语言:javascript
复制
if (($style == "display: inline") && (!$user)) {
票数 2
EN

Stack Overflow用户

发布于 2011-12-29 13:35:45

你在这一行上少了一个括号

代码语言:javascript
复制
if ($style = "display: inline") && (!$user)) {

它应该是

代码语言:javascript
复制
if (($style == "display: inline") && (!$user)) {

但你应该问问自己,你是否应该用不同的方式来处理这个问题。您所得到的代码非常特定于输出,出于可维护性的原因,您最好先执行逻辑操作,然后再进行显示。就像这样:

代码语言:javascript
复制
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语句。我不太清楚你想要实现什么,也许有一种更简单、更易读的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8668461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档