开发者社区> 问答> 正文

PHP中for循环设定的标志位没有增加!

先创建10个jpg和cookie文件,分别是1.jpg,1.cookie,2.jpg......然后用下面的文件去删除,按理来说应该会把$filenum变量增加到10,但是实际却一直是0,改变原有的文件数量也是一样,不知道问题出在哪。(文件还是会全部删除,就是计数变量没有增加)

<?php
$filenum=0;
for ($i=0; $i <= 5000 ; $i++) 
{ 
$picname="$i".".jpg";
$cookie="$i".".cookie";
if(file_exists($picname))
{
$filenum++;
unlink($picname);
}
if (file_exists($cookie))
{
unlink($cookie);
}
}
var_dump($filenum);
echo "清除"."$filenum"."个缓存";
?>

展开
收起
小旋风柴进 2016-03-09 09:36:12 2343 0
1 条回答
写回答
取消 提交回答
  • "$i" 不用加“” $i
    for循环的使用:

    [php] view plain copy print?
    for(expr1;expr2;expr3){  
          
    }  

    第一个表达式(expr1)在循环开始前无条件求值一次。

    expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。

    expr3 在每次循环之后被求值(执行)。

    每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用 break 语句来结束循环而不是用 for 的表达式真值判断。

    2019-07-17 18:55:22
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载