⊗ppSpOtRHO 73 of 83 menu

Optimalisatie van herhaling van zware operaties in PHP

In de vorige les namen de herhaalde functieaanroepen eigenlijk heel weinig tijd in beslag en onze optimalisatie zou niet erg veel besparen. Echter, het wordt veel erger als we meerdere keren een "zware" functie aanroepen, die een behoorlijke tijd nodig heeft om uit te voeren.

Stel, we hebben bijvoorbeeld een functie die delers van een getal vindt:

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

Het is duidelijk dat deze functie behoorlijk "zwaar" is. Daarom is het een slecht idee om code zoals deze te schrijven:

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

Het is beter om de "zware" operatie eenmaal uit te voeren en het resultaat op te slaan in een variabele, en deze variabele vervolgens op de gewenste plaatsen te gebruiken:

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

Optimaliseer de onderstaande code:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'correct'; } else { echo 'incorrect'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren