免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4776 | 回复: 3
打印 上一主题 下一主题

关于for循环的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-04-20 09:47 |只看该作者 |倒序浏览
大家好!,有一个关于for循环的问题请教大家:
...
push @arry;
for($j=0;B;$j++){
      for($i=0;C;$i++){
}
     print OUT "$j\t$i\n";
}


如果按照上面的写法,结果是$j先初始化,判断条件B,再对$i=0进行初始化,再判断条件C,之后$i累加,当C不满足的条件的时候终止返回去运行$j++;又去运行B,之后开始第二次循环又让$i=0初始化,那么第二次循环的$i++累加又是从0开始!
现在我想要的目的是:  我第二次循环的时候我不要$i的值从0开始初始化,我想要$i从第一次循环结束时的值为基础,向上累加,这个可以如何实现呢?
谢谢大家!

论坛徽章:
0
2 [报告]
发表于 2018-04-20 11:37 |只看该作者
更改下我想要的目的,我之前讲的有些歪,
for($j=$arry[0];$j<$arry[-1];$j++){
   for($i=0;($arry[$i]<$j);$i++){
   }
print OUT "$j\t$i\n";
第二次循环的时候,我想要$arry[$i]<$j中的$i是第一次循环结束时的$i的值而不是重新初始化的值0,但是其他部分不变,之后在此基础上继续累加$++,这样能不能实现!

论坛徽章:
0
3 [报告]
发表于 2018-04-20 14:49 |只看该作者
$k=0;
for($j=$arry[0];$j<$arry[-1];$j++){
   for($i=0;($arry[$k]<$j);$i++){

     $k++;
   }
print OUT "$j\t$i\n";
}

设定一个不会在for循环内清零的变量     然后用这个变量判断就可以了   代码没有测试  你自己测一下

论坛徽章:
0
4 [报告]
发表于 2018-04-20 16:19 |只看该作者
回复 3# 唐胜

非常感谢,测试过了没有问题。谢谢!对呀设置一个和$i同步增加的变量就好了,哎哟咋就没想到!


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP