⊗ppSpOtRHO 73 of 83 menu

Smagu operāciju atkārtošanas optimizēšana PHP

Iepriekšējā nodarbībā atkārtoti funkciju izsaukumi patiesībā aizņem ļoti maz laika, un mūsu optimizācija ietaupīs ne pārāk daudz. Tomēr viss būs daudz sliktāk, ja mēs vairākas reizes izsauksim "smago" funkciju, kas izpildās pietiekami ilgu laiku.

Pieņemsim, ka mums piemēram, ir funkcija, kas atrod skaitļa dalītājus:

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

Acīmredzot, šī funkcija ir pietiekami "smaga". Tāpēc slikta ideja būtu uzrakstīt šādu kodu:

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

Labāk, protams, ir veikt "smago" operāciju vienu reizi un rezultātu ierakstīt mainīgajā, un tad izmantot šo mainīgo vajadzīgajās vietās:

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

Optimizējiet zemāk redzamo kodu:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'pareizi'; } else { echo 'nepareizi'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt