声明"如果这个OR做X"不会在PHP中工作

时间:2017-03-01 01:08:22

标签: php if-statement

我只是在某个字段不为空或者没有说“" null"”的情况下尝试在屏幕上显示某些信息。 我正在使用PHP脚本。

由于某种原因,我有一个数据库,其中一些值设置为null作为字符串,而不是真正的NULL值。因为有很多项目,我仍然不知道是什么原因导致将该字段设置为" null"而不是NULL,而是暂时用if语句设置它会更容易。

但出于某种原因,这不起作用:

if ($row['cronograma'] != NULL || $row['cronograma'] != 'null') {
echo 'This is my reply';
}

如果字段实际为NULL,则回显不会显示。如果字段中的字符串为null,则会显示。

请注意,相关字段为NULL或具有" null"没有任何空格的字符串。

2 个答案:

答案 0 :(得分:3)

看起来你是and而不是or。也就是说,如果值不是null并且不是字符串"null"

if ($row['cronograma'] != NULL && $row['cronograma'] != 'null') {
//                             ^^

答案 1 :(得分:2)

您正在寻找"和"而不是"或"逻辑。此外,在与NULL比较时,应始终使用严格相等(三等于),以防止出现奇怪的边缘情况:

if ($row['cronograma'] !== NULL && $row['cronograma'] !== 'null') {
    echo 'This is my reply';
}