do-while
(PHP 4, PHP 5, PHP 7, PHP 8)
Π¦ΠΈΠΊΠ»Ρ do-while ΠΏΠΎΡ
ΠΎΠΆΠΈ Π½Π° ΡΠΈΠΊΠ»Ρ while,
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, Π° Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΠΈΠΊΠ»ΠΎΠ² while ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ,
ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° do-while Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ,
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ
ΡΠΈΠΊΠ»Π΅ while Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Ρ ΡΠ°ΜΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ
ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° do-while:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅
ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅
(ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $i Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 0) ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false,
Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Ρ ΠΎΠΏΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C
ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ do-while ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ do-while (0)
ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ break.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄:
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Β«Ρ
Π°ΠΊΠ°Β» ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ
goto.
jayreardon at gmail dot com ΒΆ19 years ago
There is one major difference you should be aware of when using the do--while loop vs. using a simple while loop: And that is when the check condition is made.
In a do--while loop, the test condition evaluation is at the end of the loop. This means that the code inside of the loop will iterate once through before the condition is ever evaluated. This is ideal for tasks that need to execute once before a test is made to continue, such as test that is dependant upon the results of the loop.
Conversely, a plain while loop evaluates the test condition at the begining of the loop before any execution in the loop block is ever made. If for some reason your test condition evaluates to false at the very start of the loop, none of the code inside your loop will be executed.