作者UniFish (贡贡老盃)
看板PHP
标题[请益] 回圈continue的问题
时间Tue Dec 21 14:10:20 2010
我最近才刚从ASP转过来PHP,
看了2本书,里头都提到continue指令会放弃该次回圈
回到回圈头执行,而不会理会continue以後的指令..
我昨天在写时碰到了一个情况
$i=1;
while (XXXX)
{
switch (OOOO)
{
case '00':
XXXXXXX;
case '11'
OOOOOOO;
case '99'
continue;
default:
XXXXXXXX;
}
$i++;
}
照理说,只要跳到case '99'
就会回到回圈头,而$i不会自动+1
但是我在switch前插入一行 echo $i.',';
则不会出现:1,2,3,4,5,6,7,8,9,.......
而是会出现:1,2,3,4,6,7,8,9,.....
我要让他跑的资料中,第五笔的确是case '99'
为什麽$i还是会自动+1呢
直到我把$i++;放到每个case里,除了case '99'之外才正常运作
是我误会continue的用法了吗??
--
◣◥
◤◢ ◣▁◢ 请‧尊‧重‧生‧命
◤
◢◤ ‧‧▏ ◥ ◤
以 认 养 代 替 购 买
◤◢ ▄▄▄▄ ‧‧
◢◤ 请领养我 ▄ ▄ 以 绝 育 代 替 扑 杀
◤◢ 请领养我▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Blog:http://Unifish.Pixnet.net/ 本BLOG谢绝挖隐私魔人 QSWEET
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.192.74
1F:推 terrybob:break;//放弃 continue;//继续 12/21 14:12
2F:→ mattttt:遇到continue就重做了,哪还会$i++ 12/21 14:14
3F:→ UniFish:To 2F:我的确也这麽认为,直到我在switch前加上echo $i 12/21 14:15
4F:→ UniFish:才发现$i还是照加上去XD 12/21 14:15
7F:→ tn801534:php continue直接用在switch里会当作break 12/21 15:13
8F:→ UniFish:了解了~我再来去试一下~感恩+_+ 12/21 15:14
9F:→ UniFish:OK了~原来switch要慎用continue和break!! 12/21 15:44
10F:→ terrybob:执行switch会比复合式if elseif 还要快!! 12/21 16:30
11F:→ tkdmaf:但是如果有100个复合条件,写switch会死人。 12/21 21:46
12F:→ UniFish:那若有100个...就写if比较快吗? 12/21 22:11
13F:→ UniFish:若用$($XXX)来当if的判断,似乎比较活一点~不过目前没这需 12/21 22:12
14F:→ UniFish:求XDD 12/21 22:12
15F:→ tkdmaf:当然是……用阵列!重构的书就有提到这一点。 12/22 10:30