Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无显式增量/计数器的While循环(基本)_Php_Loops_While Loop_Conditional Statements_Increment - Fatal编程技术网

Php 无显式增量/计数器的While循环(基本)

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

我是php新手,它是我的第一语言。所以我的问题似乎很基本

首先,while循环的基本概念对我来说非常清楚。 只要i递增(i++),直到“崩溃条件”(i,如您在
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);