在PHP中使用三个元素条件

时间:2014-12-16 22:42:34

标签: php if-statement logic

我有一个奇怪的错误。 我有一个课程名称课程有3个元素:视频,音频&书面。 一个名为IsReadOnly的功能应该检查一个课程是否只有“写入”的内容。细胞虽然'音频'和视频'是空的。 这是它的外观:

public function IsReadOnly() {
    if ($this->Audio=="" && $this->Video=="" && $this->WrittenLesson!="")
        return true;
    else
        return false;
}

在PHP页面中,我调用了函数:

if (!$Less->IsReadOnly()) {
    // ...
}
else {
    // ...
} 

据我所知 - 虽然视频/音频将返回false,但完整条件也将返回false,并且IF(不是ELSE)将被执行。

但是,那不起作用。如果视频为空并且音频不是 - 则每次都很好。但如果音频为空且视频不是 - 则执行ELSE。 (我试过替换他们之间没什么......)。

我做错了什么? 感谢。

2 个答案:

答案 0 :(得分:0)

也许你需要让if更宽容:

if ($this->WrittenLesson && !$this->Audio && !$this->Video)

答案 1 :(得分:0)

显然解决方案是制作SSCCE ...... 测试时我发现了问题。视频不是我必须检查的唯一单元格,因为在数据库中有两个代表视频的字段。

谢谢!