⊗ppSpOtRHO 73 of 83 menu

Optimizarea repetării operațiilor grele în PHP

În lecția anterioară, apelurile repetate ale funcțiilor de fapt durează foarte puțin timp și optimizarea noastră nu va economisi foarte mult. Cu toate acestea, va fi mult mai rău dacă vom face de mai multe ori apelul unei funcții "grele", care se execută un timp destul de lung.

Să presupunem, de exemplu, că avem o funcție care găsește divizorii unui număr:

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

Evident, această funcție este suficient de "grele". Prin urmare, va fi o idee proastă să scriem un astfel de cod:

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

Mai bine, desigur, este să efectuați operațiunea "grea" o singură dată și să scrieți rezultatul într-o variabilă, apoi să utilizați această variabilă în locurile necesare:

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

Optimizați codul de mai jos:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'corect'; } else { echo 'incorect'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge