do...while は基本的に while と同じ構文構造を持ち、ブールループでもあり、その機能も基本的に同じです。
基本的な構文は次のとおりです:
do { //代码块 } while (判断);
do...while と while の違いは、値が異なる時点でチェックされることです。
do-while while判定が真であるかどうかに関係なく、コードブロックのループ文は1回実行され、必ず1回実行されることが保証されます(式の真偽値はループごとにチェックされます)。
ただし、前の while ループはブール判定領域をチェックし、それが true の場合に実行します。成立しない場合は実行されません。
コードで確認してみましょう:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
上記のコードでは、$i は確実に 0 以下であり、これも実行されます。
もちろん、まだ理解していない場合は、アプリケーションのシナリオがまったく思い浮かばなくても、このブロックを完全にスキップしても問題ありません。
do...while はほとんど使用されません。ファイルを開くなどのリソース処理に使用する場合があります。