Php 如何在if语句中使用OR?
我的if语句没有按我希望的方式工作。也许你能帮我。我希望如果mySQL数据库中的Php 如何在if语句中使用OR?,php,mysql,Php,Mysql,我的if语句没有按我希望的方式工作。也许你能帮我。我希望如果mySQL数据库中的cat是空的或者dog是空的,它应该回显缺少的动物 if (empty($row['cat']) || empty($row['dog'])) { echo "animal missing"; } 现在发生的情况是:如果猫和狗是空的,那么猫和狗不是空的,而狗是空的,但是如果猫和狗都是空的,那么狗就什么也不回。我不明白…我有时会这样想:就用它吧 if (!empty($row['cat']) AND !emp
cat
是空的或者dog
是空的,它应该回显缺少的动物
if (empty($row['cat']) || empty($row['dog'])) {
echo "animal missing";
}
现在发生的情况是:如果猫和狗是空的,那么猫和狗不是空的,而狗是空的,但是如果猫和狗都是空的,那么狗就什么也不回。我不明白…我有时会这样想:就用它吧
if (!empty($row['cat']) AND !empty($row['dog'])) {
}
else
{
echo "animal missing";
}
如果$row['dog']和$row['cat']不被视为“空”,那么它们的值是什么 在var_转储中,其中一个似乎只有一个空格字符。在检查空白是否为空之前,请尝试修剪空白:
if(empty(trim($row['cat'])) || empty(trim($row['dog']))) {
echo "animal missing";
}
空(混合$var)的作用:
确定变量是否为空。如果变量不存在或其值等于FALSE,则认为该变量为空。如果变量不存在,empty()不会生成警告。
–
我认为正确的运算符是
|
,使用SQL而不是PHP,由jonbaldie更正。不过,使用php运算符的最佳实践是:try var_dump($row);它是否符合您的预期?如果您正在检查数据库中缺少的值,我将使用switch语句来检查要检查的动物类型列表,而不是If语句,但这只是我自己。“
不是空字符串,而是一个带有一个空格字符的字符串。所以empty逻辑上返回false。@jarla,字段cat不是空字符串,而是长度为1的字符串。在db中进行更改或在php中使用trim