Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在if语句中使用OR?_Php_Mysql - Fatal编程技术网

Php 如何在if语句中使用OR?

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

我的if语句没有按我希望的方式工作。也许你能帮我。我希望如果mySQL数据库中的
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