当检查不为空或字符串时,PHP | |条件语句未给出正确的结果

当检查不为空或字符串时,PHP | |条件语句未给出正确的结果,php,html,conditional-statements,Php,Html,Conditional Statements,我有以下php条件,如果变量不是空的,它将显示以下内容 if (!empty($ot1Oa)){ echo ' <span style="font-weight:bold; color:green"> OT1:</span><span style="color:green">'.$ot1Oa.'</span>'; } 我的意思是如果$ot1Oa不为空,或者$ot1Oa不等于-,则显示html。但不知

我有以下
php
条件,如果变量不是空的,它将显示以下内容

if (!empty($ot1Oa)){
    echo ' <span style="font-weight:bold; color:green"> OT1:</span><span style="color:green">'.$ot1Oa.'</span>';
}
我的意思是如果
$ot1Oa
不为空,或者
$ot1Oa
不等于
-
,则显示
html
。但不知何故,它不起作用。我的代码从数据库中抓取
$ot1Oa==“-”
。但是
html
仍然显示


有人知道为什么吗?

因为您正在检查
$ot1Oa
的值是否已赋值,而它不是
-
所以您必须使用
运算符,而不使用
运算符

更改此项:

if (!empty($ot1Oa) || $ot1Oa != "-"){
致:


我希望这会对你有所帮助。

如果
$ot10a==“-”
那么它就不是空的,所以显示出来了。我想你想要的是
&
,而不是
|
@Barmar哦,是的……逻辑上的一个愚蠢错误!一定是&&
if (!empty($ot1Oa) || $ot1Oa != "-"){
if (!empty($ot1Oa) && $ot1Oa != "-"){