⊗ppSpOtRHO 73 of 83 menu

Optimizacija ponavljanja teških operacija u PHP-u

U prethodnoj lekciji ponovni pozivi funkcija zapravo oduzimaju vrlo malo vremena i naša optimizacija neće uštedeti mnogo. Međutim, sve će biti mnogo gore ako nekoliko puta izvršavamo poziv "teške" funkcije, koja se izvršava prilično dugo vreme.

Neka, na primer, imamo funkciju koja pronalazi delioce broja:

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

Očigledno je da je ova funkcija prilično "teška". Stoga bi loša ideja bila napisati ovakav kod:

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

Bolje je, naravno, izvršiti "tešku" operaciju jednom i rezultat upisati u promenljivu, a zatim koristiti tu promenljivu na potrebnim mestima:

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

Optimizujte donji kod:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'tačno'; } else { echo 'netačno'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij