勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでdo-while(0)構文を利用する際のメリット

   2024/01/12  PHP

あるソースコード上にdo-whileという構文が使われていた。見たことのない構文なのでどういった際に使用するのか調べた内容を以下にメモ。

 

リファレンス

https://www.php.net/manual/ja/control-structures.do.while.php

 

ソースコード

do {
    //処理内容

    //エラーの場合は処理を抜ける
    if( $test ){
        break;
    }

    //処理内容

    if( $hoge ){
        break;
    }
} while (0);

以下のようなメリットがある模様。

  • エラー時はbreakで処理を終了できる
  • 無限ループに陥らない
  • ネストが深くなりにくい

途中で一個でも引っかかればbreakで抜けてエラー側の処理、最後まで生き残ればサクセス処理みたいな形で使うとよさげ。

 

参考サイト

http://sla0.jp/2012/02/do-while%E3%81%AE%E6%84%8F%E5%A4%96%E3%81%AA%E4%BD%BF%E3%81%84%E6%96%B9/
http://hateda.hatenadiary.jp/entry/2012/11/05/do_while
http://www.phppro.jp/phpmanual/php/control-structures.do.while.html

 - PHP

  関連記事

PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

PHPでお問い合わせ等のform構築時にCSRF対策を行う方法

他社が制作されたお問い合わせフォームを改修する案件があった。ソースコードを拝見し ...

PHPでファイルアップロード時にディレクトリトラバーサル攻撃の対策をする方法

あるシステムのセキュリティ対策としてディレクトリトラバーサル(Directory ...

PHPバージョンアップの際に削除された関数(MySQL関数等)を使う方法

PHP5系で制作されたシステムを8系でも動くようにリプレイスしてほしいという案件 ...

PHP7 / 8でBlowfishアルゴリズムを用いた暗号化と復号化方法

大分前にPHPでPearのCrypt_Blowfishパッケージを使用し、Blo ...