⊗ppSpOtRHO 73 of 83 menu

PHP-де ауыр операцияларды қайталауды оңтайландыру

Алдыңғы сабақта функцияларды қайта шақыру шынымен де өте аз уақыт алады және біздің оңтайландыруымыз өте көп үнемдемейді. Дегенмен, бәрі әлдеқайда нашар болады, егер біз бірнеше рет "ауыр" функцияны шақырсақ, ол жеткілікті ұзақ уақыт бойы орындалады.

Мысалы, бізде санның бөлгіштерін табатын функция бар делік:

<?php function getDivisors($num) { $result = []; for ($i = 1; $i <= $num; $i++) { if ($num % $i == 0) { $result[] = $i; } } return $result; } ?>

Бұл функцияның жеткілікті "ауыр" екені анық. Сондықтан мынадай код жазу нашар идея болады:

<?php $num = 123456; if (array_sum(getDivisors($num)) >= 10 and array_sum(getDivisors($num)) <= 100) { } else { } ?>

Әрине, "ауыр" операцияны орындаған дұрыс бір рет және нәтижені айнымалыға жазу, содан кейін бұл айнымалыны қажетті жерлерде пайдалану:

<?php $num = 123456; $sum = array_sum(getDivisors($num)); if ($sum >= 10 and $sum <= 100) { } else { } ?>

Төмендегі кодты оңтайландырыңыз:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'дұрыс'; } else { echo 'дұрыс емес'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Қазақ
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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау