phpプログラミングをしていて条件分岐をしたいときはifを使いますよね?
ですがループだと・while ・do while ・for ・foreach (・if & goto)と色々方法がありどれを使用していいか分からない人が多いのではないでしょうか?
私が以前見たソースでひどい例で
i = 0;
for (;i < 10;) {
i++;
}
なんてのがありました。
たしかにコレで処理としては問題ないですが、ソースが長くなったりすると変更箇所が見つけづらくなりバグの元にもなりかねません。
ifと違いこれらのループが複数用意されているのには意味があり、それぞれ長所を使い分けることによってソースを読みやすく短くできたり処理を簡単にできたりします。
簡単にですが、私がどういった時にどのループ構文を使うのかの判断材料を書いてみます。
・foreach
配列についてループしたい場合で、連想配列を扱いたいときや、配列の中身を書き換える必要が無い場合。
・for
繰り返しの回数が決まっている場合や、連想配列を使用していない配列の中身を書換たい場合。
・while ・do while
ループ条件を中の処理によって変更したい場合。do whileは必ず1回以上ループ内を処理して欲しい場合。
・if & goto
現在はこの構造は使わないようにしましょう。
大体はこんな感じで使い分けすれば自分がやりたい処理にあった構文で書くことができると思います。
どの構文を使っていいか分からなくなったときは foreach > for > while の順で使用目的と合っているかどうかを判断していけばいいと思います。
3月 24
最近のコメント