作者UniFish (贡贡老盃)
看板PHP
标题Re: [请益] 回圈continue的问题
时间Tue Dec 21 17:00:22 2010
自回一下,我改为:
$i=1;
while (XXXX)
{
switch (OOOO)
{
case '00':
XXXXXXX;
break;
case '11'
OOOOOOO;
break;
case '99'
continue 2;
default:
XXXXXXXX;
break;
}
$i++;
}
就可以正确的执行了!!
学到一课!!
※ 引述《UniFish (贡贡老盃)》之铭言:
: 我最近才刚从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:推 ROCKIT:请问为什麽是continue 2;?? 12/21 23:56
2F:→ UniFish:要跳脱二层外的回圈,continue是跳回switch头 12/22 10:34
3F:→ UniFish:continue 2;就是再外一层while的头 12/22 10:34