PHPでちょっと小ネタ
foreachやwhileのようなループを抜けるときにcontinueを使うんですが、その中にswitchが入っていると、switchに対してのcontinueがきいてしまって、ループが抜けられないことを知りました。
抜けるにはcontinue2という処理を使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php $arr= array(1,2,3); foreach( $arr as $num ){ switch( $num ){ case 2: //このcontinueはswitchに対してかかる continue; break; } echo $num; } //表示されるのは1,2,3 //外側のforeach抜けるにはcontinue2を使う foreach( $arr as $num ){ switch( $num ){ case 2: //このcontinue2はswitch,foreach両方に対して //かかる continue 2; break; } echo $num; } //表示されるのは1,3 |
ありがちな処理だとおもうんですけど、いままで知らなかったなあ・・・