⊗ppSpOtRHO 73 of 83 menu

Optimalizácia opakovania ťažkých operácií v PHP

V predchádzajúcej lekcii opakované volania funkcií v skutočnosti trvajú veľmi málo času a naša optimalizácia ušetrí nie veľa. Avšak, všetko bude oveľa horšie, ak budeme niekoľko krát volať "ťažkú" funkciu, ktorá vykonáva sa dostatočne dlhý čas.

Nech napríklad máme funkciu, ktorá nachádza delitele čísla:

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

Je zrejmé, že táto funkcia je dosť "ťažká". Preto zlým nápadom bude napísať takýto kód:

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

Lepšie je, samozrejme, vykonať "ťažkú" operáciu raz a výsledok zapísať do premennej, a potom použiť túto premennú na potrebných miestach:

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

Optimalizujte nižšie uvedený kód:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'správne'; } else { echo 'nesprávne'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť