⊗ppSpOtRHO 73 of 83 menu

Optimizimi i përsëritjes së operacioneve të rënda në PHP

Në mësimin e mëparshëm, thirrjet e përsëritura të funksioneve në fakt zënë shumë pak kohë dhe optimizimi ynë nuk do të kursejë shumë. Megjithatë, gjithçka do të jetë shumë më keq nëse disa herë bëjmë një thirrje të një funksioni "të rëndë", i cili kryhet për një kohë mjaft të gjatë.

Le të themi, për shembull, se kemi një funksion që gjen pjesëtuesit e një numri:

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

Është e qartë se ky funksion është mjaft "i rëndë". Prandaj, do të ishte një ide e keqe të shkruanim kodin e mëposhtëm:

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

Më mirë, sigurisht, është të kryhet operacioni "i rëndë" një herë dhe rezultati të shkruhet në një variabël, e pastaj të përdoret kjo variabël në vendet e nevojshme:

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

Optimizoni kodin e dhënë më poshtë:

<?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; } ?>
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo