⊗ppSpOtRHO 73 of 83 menu

Optimalisering av gjentakelse av tunge operasjoner i PHP

I forrige leksjon tok gjentatte funksjonskall egentlig veldig lite tid og vår optimalisering vil ikke spare veldig mye. Imidlertid, alt blir mye verre hvis vi gjør flere kall til en "tung" funksjon som tar ganske lang tid å utføre.

La for eksempel si at vi har en funksjon som finner divisorer av et tall:

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

Det er åpenbart at denne funksjonen er ganske "tung". Derfor er det en dårlig idé å skrive kode som dette:

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

Det er selvfølgelig bedre å utføre den "tunge" operasjonen en gang og skrive resultatet til en variabel, og deretter bruke denne variabelen på de nødvendige stedene:

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

Optimaliser koden nedenfor:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'riktig'; } else { echo 'feil'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis