首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆IF子句

混淆IF子句
EN

Stack Overflow用户
提问于 2011-02-23 16:31:14
回答 2查看 74关注 0票数 0

我正在制作一个搜索引擎,并且我已经做好了一个查询,它是从您想要做的不同类型的搜索(例如用户名、城市、年龄等)组合起来的。我已经谈到了必须执行IF语句才能输出正确结果的部分,但出于某种原因,我不知道它是如何选择另一个IF语句的,而不是我所希望的那样。

该脚本响应了为调试而执行的IF块,它说执行的是"age“块,而不是我想要的”县“。下面是代码,并记录在案;正常的和年龄的ifs工作得很好,所以我怀疑语法错误是我看不见的。我做了什么逻辑上的错误吗?

优先,如果

代码语言:javascript
复制
if(($searchFromAge == null || $searchFromAge == "noOption") && ($searchToAge == null || $searchToAge == "noOption") && ($searchCounty == null || $searchCounty == "noOption") && ($searchCity == null || $searchCity == "By")){
echo "normal";
}

年龄如果

代码语言:javascript
复制
elseif(($searchFromAge != null || $searchFromAge != "noOption") && ($searchToAge != null || $searchToAge != "noOption")){
echo "age";
}

县IF

代码语言:javascript
复制
} elseif($searchCounty != null || $searchCounty != "noOption"){
echo "county";
}

脚本输出:时代

EN

回答 2

Stack Overflow用户

发布于 2011-02-23 16:36:37

代码语言:javascript
复制
$searchFromAge != null || $searchFromAge != "noOption"

如果$searchFromAge == "noOption“为!= null,则此条件为真。

头需要在条件上做出改变。

在if条件下使用($searchFromAge != null && $searchFromAge != "noOption")

你所有的条件都一样。使用&&而不是||

票数 1
EN

Stack Overflow用户

发布于 2011-02-23 16:44:35

你的逻辑否定做错了。(A == B || C == D)的否定是(A != B && C != D),注意到了&&

所以:

代码语言:javascript
复制
$searchFromAge != null || $searchFromAge != "noOption"

变成:

代码语言:javascript
复制
$searchFromAge != null && $searchFromAge != "noOption"

希望这能有所帮助。

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

https://stackoverflow.com/questions/5093784

复制
相关文章

相似问题

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