⊗ppSpOtRHO 73 of 83 menu

Optimización de repetición de operaciones pesadas en PHP

En la lección anterior, las llamadas repetidas a funciones en realidad toman muy poco tiempo y nuestra optimización ahorrará no mucho. Sin embargo, todo será mucho peor si hacemos varias veces una llamada a una función "pesada" que se ejecuta durante un tiempo bastante largo.

Supongamos, por ejemplo, que tenemos una función que encuentra los divisores de un número:

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

Obviamente, esta función es bastante "pesada". Por lo tanto, sería una mala idea escribir un código como este:

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

Mejor, por supuesto, es realizar la operación "pesada" una vez y guardar el resultado en una variable, y luego usar esta variable en los lugares necesarios:

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

Optimice el código a continuación:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'верно'; } else { echo 'неверно'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar