先创建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"."个缓存";
?>
"$i" 不用加“” $i
for循环的使用:
[php] view plain copy print?
for(expr1;expr2;expr3){
}
第一个表达式(expr1)在循环开始前无条件求值一次。
expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。
expr3 在每次循环之后被求值(执行)。
每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用 break 语句来结束循环而不是用 for 的表达式真值判断。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。