複数の配列のすべての値に対して条件を満たす場合にのみ処理を行う
というようなことをする場合、一個でも条件を満たさなければ
その時点で以降の判定処理もすっとばしたいわけなのですが
その時の行儀のいいやり方について悩んでおります
php
1while(true){ 2 foreach(〜 as 〜){ 3 if(!〜){break 2;} 4 } 5 foreach(〜 as 〜){ 6 if(!〜){break 2;} 7 } 8 〜処理〜 9 break; 10} 11〜続き〜
continueで無限ループの可能性が微レ存
php
1switch(true){ 2 case true: 3 foreach(〜 as 〜){ 4 if(!〜){break 2;} 5 } 6 foreach(〜 as 〜){ 7 if(!〜){break 2;} 8 } 9 〜処理〜 10} 11〜続き〜
whileでいいんじゃないかな…
php
1call_user_func(function(〜,〜)use(&〜,&〜){ 2 foreach(〜 as 〜){ 3 if(!〜){return false;} 4 } 5 foreach(〜 as 〜){ 6 if(!〜){return false;} 7 } 8 〜処理〜 9 return true; 10},〜,〜);
安全っぽいけどめんどい
php
1foreach(〜 as 〜){ 2 if(!〜){goto hoge;} 3} 4foreach(〜 as 〜){ 5 if(!〜){goto hoge;} 6} 7〜処理〜 8hoge: 9〜続き〜
PHPにもgotoはあるんだよなぁ
個人的にはcall_user_funcが一番いいのかな、とも思ってるんですが
条件判定のためだけに関数を作っちゃうのは
結構負荷が大きいから避けるべきなのか?とかも思っちゃいます
使い分けた方がいいのか、やり方を統一しておいたほうがいいのか
あるいはこれら以外にもっと良いやり方があるのか
よろしくお願いします
回答2件
あなたの回答
tips
プレビュー