这让我感到困惑了一段时间.我正在浏览目录并回显其内容,我想排除".."和"." 文件.
现在,这段代码有效:
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file == ".." OR $file == ".")
{
}
else {
echo $file;
echo "<br>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这不......
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file != ".." OR $file != ".")
{
echo $file;
echo "<br>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
出于显而易见的原因,第二块代码更符合我的要求,因为我真的很讨厌真正的声明什么都不做.
Fra*_*anz 22
如果否定由两个单一条件和一个连词("和"或"或")组成的条件,则需要单独否定每个条件并使用另一个连词.
所以试试这个:
if ($file != ".." AND $file != ".")
Run Code Online (Sandbox Code Playgroud)
这是德摩根法律之一.
not (A OR B) = (not A) AND (not B)
Run Code Online (Sandbox Code Playgroud)
您所做的更改是一个名为Reverse Conditional的重构
| 归档时间: |
|
| 查看次数: |
2623 次 |
| 最近记录: |