⊗ppSpOtEI 76 of 83 menu

PHPдеги циклдин ашыкча айланууларын оптималдаштыруу

Төмөндөгү коддо бир программачы массивде 3 саны бар-жогун текшерип жатат:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; } } var_dump($exists); ?>

Анын чечими менен эмне туура эмес? Бир нерсе көрүнбөйт, циклде эч кандай ашыкча амалдар жасалбайт. Бирок, масел 3 саны массивде бар экени аныкталгандан кийин да - цикл массивдин аягына чейин айлана бергендигинде.

Эң рационалдуу эмес учур - 3 саны массивдин башында табылып, ал эми массивдин өзүнүн узундугу, айталы, 1000 элементтен турганда болот. Миңден ашык пайдасыз ашыкча цикл итерациялары чыгат! Оптималдуу эмес.

Кодду циклди убагында токтотуп, оптималдаштыралы:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; break; } } var_dump($exists); ?>

Төмөндөгү код массивдин канча элементин кошсоңуз, суммасы 10дон ашкандыгын эсептейт. Оптималдаштырууну аткарыңыз:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $sum = 0; $i = 1; foreach ($arr as $elem) { $sum += $elem; if ($sum <= 10) { $i++; } } echo $i; ?>

Төмөндөгү код берилген аралыктан жуп сандарды чыгарат. Оптималдаштырууну аткарыңыз:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0) { echo $i; } } ?>

Төмөндөгү код бир эле учурда 2ге жана 3кө бөлүнчү сандарды чыгарат. Оптималдаштырууну аткарыңыз:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу