简体   繁体   English

PHP:这段代码有什么问题,为什么变量不递增?

[英]PHP: What's wrong with this code, and why won't the variable increment?

$blogDir = 'blog/';
$blogdirHandle = opendir( $blogDir );
$checkingFile;
$number = 0;
$codeNumber = '-'.$number.'-';
if( $blogdirHandle = opendir( 'blog/' ) )
{
    while( ( $checkingFile = readdir( $blogdirHandle ) ) !== false ) 
    {
        if( $checkingFile != '.' && $checkingFile != '..' && !is_dir( $checkingFile ) && strpos( $checkingFile, $codeNumber ) !== false )
        {
            $number++;
        }
    }
    closedir( $blogdirHandle );
}

What I'm trying to do is: 我想做的是:

Go through the $blogDir directory, and search for a file that has the same $codeNumber ( -$number- ), and if a file is found, then increase $number by one and search until all files are searched through. 进入$ blogDir目录,搜索具有相同$ codeNumber(-$ number-)的文件,如果找到了文件,则将$ number加1并进行搜索,直到搜索完所有文件。 For some reason it's not working. 由于某种原因,它不起作用。 It won't increase the value of $number, even though there are files with the same $codeNumber in the directory.. Any help? 即使目录中存在具有相同$ codeNumber的文件,它也不会增加$ number的值。

Once you increment $number , you need to re-assign $codeNumber inside your loop: 一旦增加$number ,您需要在循环内重新分配$codeNumber

if( $blogdirHandle = opendir( 'blog/' ) )
{
    while( ( $checkingFile = readdir( $blogdirHandle ) ) !== false ) 
    {
        if( $checkingFile != '.' && $checkingFile != '..' && !is_dir( $checkingFile ) && strpos( $checkingFile, $codeNumber ) !== false )
        {
            $number++;
            $codeNumber = '-'.$number.'-';
        }
    }
    closedir( $blogdirHandle );
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM