勉強したことのメモ

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

  関連記事

迷惑メール対策でフォームにGoogle reCAPTCHA v2を導入する方法
迷惑メール対策でフォームにGoogle reCAPTCHA v2を導入する方法

お問い合わせフォームのスパムメール対策としてreCAPTCHAを導入したいという ...

PHPでcURLを用いて配列のデータをJSON形式でPOST送信及び受信する方法
PHPでcURLを用いて配列のデータをJSON形式でPOST送信及び受信する方法

PHPで配列データを別サーバにJSON形式でPOST送信し、別サーバ側でもPHP ...

PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成する方法
PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成する方法

PHPからDBX Platformを利用してDropbox内にディレクトリ(フォ ...

CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法
CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法

以前CodeIgniter4.4.4で簡易的なお問い合わせページを作成したが、今 ...

PHPにてacebook / twitter / Googleアカウントでソーシャル(SNS)ログインする方法
PHPにてacebook / twitter / Googleアカウントでソーシャル(SNS)ログインする方法

PHPにて制作したシステムで「facebook / twitter / Goog ...