Php 无显式增量/计数器的While循环(基本)
我是php新手,它是我的第一语言。所以我的问题似乎很基本 首先,while循环的基本概念对我来说非常清楚。 只要i递增(i++),直到“崩溃条件”(i,如您在Php 无显式增量/计数器的While循环(基本),php,loops,while-loop,conditional-statements,increment,Php,Loops,While Loop,Conditional Statements,Increment,我是php新手,它是我的第一语言。所以我的问题似乎很基本 首先,while循环的基本概念对我来说非常清楚。 只要i递增(i++),直到“崩溃条件”(i,如您在readdir中看到的)为止: 返回目录中下一个条目的名称。这些条目按文件系统存储的顺序返回 因此,每次调用readdir都会返回该目录下的下一个文件 例如,如果您有一个包含2个文件的目录尝试: one.txt two.txt 第一次调用readdir将返回one.txt。这与false不同,因此将在中执行代码,而 第二次调用readd
readdir
中看到的)为止:
返回目录中下一个条目的名称。这些条目按文件系统存储的顺序返回
因此,每次调用readdir
都会返回该目录下的下一个文件
例如,如果您有一个包含2个文件的目录尝试:
one.txt
two.txt
readdir
将返回one.txt
。这与false
不同,因此将在中执行代码,而
第二次调用readdir
时将返回two.txt
,与上面相同
第三次调用readdir
将返回false
,因为该目录中没有更多文件。而while
中的条件将不再为true,因此将不再输入while。正如您在readdir
中看到的那样:
返回目录中下一个条目的名称。这些条目按文件系统存储的顺序返回
因此,每次调用readdir
都会返回该目录下的下一个文件
例如,如果您有一个包含2个文件的目录尝试:
one.txt
two.txt
第一次调用readdir
将返回one.txt
。这与false
不同,因此将在中执行代码,而
第二次调用readdir
时将返回two.txt
,与上面相同
第三次调用readdir
时将返回false
,因为该dirrecotry中没有更多文件。而while
中的条件将不再为true,因此将不再输入while。while
-循环在大括号内的条件为true时运行。本例中的条件为($file=readdir($directory))
,它尝试将目录中的新文件名分配给$file,如果没有新文件可用,则作为一个整体返回false。但是:对基本代码的解释与SO的主题无关-这不是教程网站。[您选择的搜索引擎]提供了许多更适合您需要的选项。因为虽然循环不需要递增值,但只要有什么东西可以中断循环,在这种情况下,$file
设置为false。readdir将使指针前进,如果指针到达目录的末尾,它将返回false。@NiyokoYuliawan:啊,好吧,我怀疑是这样的。我想知道为什么德国php手册没有提到它。它似乎太明显了。我越是感谢你的冲动。似乎类似于mysqli上下文中的fetch构造,这对我来说也是一种魔力。@Franz谢谢你。我面前有三本入门书,它们没有关闭我的桥梁初学者学习“内部指针”示例并阅读手册。很抱歉,如果我脱离了主题,您帮了我很多忙。while
-循环在大括号内的条件为true时运行。本例中的条件为($file=readdir($directory))
,它尝试将目录中的新文件名分配给$file,如果没有可用的新文件,则作为一个整体返回false。但是:对基本代码的解释与主题无关,因此,这不是一个教程网站。[您选择的搜索引擎]提供了许多更适合您需要的选项。因为虽然循环不需要递增值,但只要有什么东西可以中断循环,在这种情况下,$file
设置为false。readdir将使指针前进,如果指针到达目录的末尾,它将返回false。@NiyokoYuliawan:啊,好吧,我怀疑是这样的。我想知道为什么德国php手册没有提到它。它似乎太明显了。我越是感谢你的冲动。似乎类似于mysqli上下文中的fetch构造,这对我来说也是一种魔力。@Franz谢谢你。我面前有三本入门书,它们没有关闭我的桥梁初学者“内部指针”示例阅读手册。对不起,如果我离题了,你帮了我很多。谢谢!虽然我读了手册,但我没能越过那座桥。现在你给了我背景,这是有道理的。我多次遇到类似的概念。现在看来你让我更接近主题。谢谢!虽然我读了手册,但我我没能越过那座桥。现在你给了我背景,这是有道理的。我曾多次遇到过类似的概念。现在看来你让我更接近这一点。
$originals = "originale";
$thumbnails="thumbnails";
$directory = opendir($originale);
$images = array();
while(($file = readdir($directory)) !== false) {
if(preg_match("/\.jp?g$/i", $file)){
$images[] = $file;
}
}
echo "<pre>";
var_dump($images);
echo "</pre>";
closedir($directory);