⊗ppSpOtRHO 73 of 83 menu

Optimizacija ponavljanja težkih operacij v PHP

V prejšnji lekciji ponovni klici funkcij pravzaprav zavzamejo zelo malo časa in naša optimizacija prihrani ne zelo veliko. Vendar pa bo vse veliko slabše, če bomo večkrat klicali "težko" funkcijo, ki se izvaja dokaj dolgo časa.

Recimo, da imamo na primer funkcijo, ki poišče delitelje števila:

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

Očitno je, da je ta funkcija precej "težka". Zato je slaba ideja napisati takšno kodo:

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

Bolje je seveda izvesti "težko" operacijo enkrat in rezultat zapisati v spremenljivko, nato pa uporabiti to spremenljivko na želenih mestih:

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

Optimizirajte spodnjo kodo:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'pravilno'; } else { echo 'nepravilno'; } 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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni