Просмотр содержимого документа
«РНР-дегі циклдер»
РНР-дегі циклдер
Циклдер код блогын бірнеше рет орындауға мүмкіндік береді. Бұл көптеген тапсырмаларды орындау үшін қажет. Мысалы, берілгендер қорынан жазбалар алу, файлдың әр жолын оқу немесе жиым элементтерімен жұмыс жасау.
РНР-де циклдың төрт типі бар: while, do..while, for және foreach.
While циклі
While циклінің жазылу форматы:
while (шарт) { операторлар } |
Циклдің жұмысын толығырақ қарастырайық:
шартты тексеру
егер ол ақиқат болса, операторларды орындау, жалған болса, циклден шығу
бірінші қадамға көшу.
Циклді басқару үшін бір немесе бірнеше айнымалы қажет. Мысалы, бірге артып отыратын бүтін сан. Бұл айнымалылар циклдің басқарушы айнымалылары деп аталады.
1-ден N-ге дейінгі сандарды шығаратын қарапайым мысал қарастырайық:
$n = 10; $i = 1; while ($i { echo "$i "; $i++; } ? |
Кейде циклдің басқарушы айнымалысы бульдік болып табылады. Мысалы циклде файлдағы жолдарды оқыған кезде файлдың соңын анықтайтын бульдік типтегі айнымалыны қолдануға болады.
do..while циклі
do..while циклі while цикліне ұқсайды, тек мұнда шарт басында емес, соңында тескеріледі. Бұл циклдің кем дегенде бір рет орындалатынын білдіреді.
do { операторлар } while (шарт) |
Циклдің жұмысын қарастырайық:
операторлар блогын орындау
шартты тексеру
шарт ақиқат болса, 1-ші қадамға бару, жалған болса, циклден шығу.
Келесі мысалда N=0 болса да, экранға бір шығарылады:
$n = 10; $i = 1; do { echo "$i "; $i++; } while ($i ? |
For циклі
For циклінің жазылу форматы:
for (өрнек1; өрнек2; өрнек3) { операторлар } |
Өрнек1 цикл басталмастан бұрын есептеледі. Әдетте онда басқарушы айнымалы инициалданады. Өрнек2 циклдің әр итерациясында есептеледі. Егер Өрнек2-нің мәні true болса, цикл жалғасады, әйтпесе тоқтайды. Өрнек3 әр итерацияның соңында есептеледі және әдетте циклдің басқарушы айнымалысының мәнін һзгерту үшін қолданылады.
Циклдің орындалу реті:
Өрнек1-ді орындау
Өрнек2-ні тексеру
Егер ол ақиқат болса, 4-ші қадамға көшу, егер жалған болса, циклден шығу
Операторлар блогын орындау
Өрнек3-ті орындау
2-ші қадамға көшу.
1-ден N-ге дейінгі сандарды шығаратын мысалды қайта қарастырайық:
$n = 10; for ($i = 1; $i { echo "$i "; } ? |
Шексіз циклдер
Шексіз цикл деп келесі циклдерді айтуға болады:
немесе
Циклден шығу үшін break операторын қолдауға болады:
$n = 10; $i = 1; while (true) { echo "$i "; $i++; if ($i $n) break; } ? |
Break операторы циклдің орындалуын бірден тоқтатады. Егер циклдің ағымдағы итерациясын тоқтатып, шарттың тексерілуіне қайту керек болса, онда continue операторын қолдануға болады.
Келесі мысалда 1-ден N-ге дейінгі тақ сандар шығарылады:
$n = 10; for ($i = 1; $i $n; $i++) { if ($i % 2 == 0) continue; echo "$i "; } ? |
Жұп санды екіге бөлгенде нөл шығады, мысалда ондай сандарды шығармаймыз.