⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау