PHP如果OR的状态表现不如预期[重复]

loading...


-1

这个问题在这里已有答案:

我试图在foreach循环中使用if语句来检查数组的值是否未“完成”或“正在执行”

$array = [
            $request1 = [
                            'title' => "foo",
                            'status' => 'finished'
                        ],
            $request2 = [
                            'title' => "bar",
                            'status' => 'executing'
                        ],  
            $request2 = [
                            'title' => "foo bar",
                            'status' => 'foo'
                        ]
        ];


foreach ($array as $request) {
    if ($request['status'] != 'finished' || $request['status'] != 'executing') {
        echo $request['title'];
    } 
}

我希望这只会返回“foo bar”,但它会返回“foobarfoo bar”我在这里做错了什么?

https://3v4l.org/VTVO5

loading...

1回答

  • 2

    条件应使用AND运算符,否则条件始终为true .

    if ($request['status'] != 'finished' && $request['status'] != 'executing')
    

    变量总是与两个值中的至少一个不同 .

评论

暂时没有评论!