PHP!=和==运算符
这让我有一阵子让我非常吃惊。 我正在浏览一个目录并回显其内容,我想排除“..”和“。”。 文件。
现在,这段代码有效:
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file == ".." OR $file == ".")
{
}
else {
echo $file;
echo "<br>";
}
}
}
但是这不...
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file != ".." OR $file != ".")
{
echo $file;
echo "<br>";
}
}
}
出于显而易见的原因,第二批代码更多是我想要的,因为我真的很讨厌让真正的陈述无所作为。
如果您否定由两个单一条件和一个连词(“和”或“或”)组成的条件,则需要单独否定每个条件并使用其他连词。
所以试试这个:
if ($file != ".." AND $file != ".")
这是德摩根的法律之一。
not (A OR B) = (not A) AND (not B)
您所做的更改是一种称为反向条件的重构
他们不是相反的...
查看摩根法律。
if($file != ".." OR $file != ".")
应该
if($file != ".." AND $file != ".")
链接地址: http://www.djcxy.com/p/1793.html