⊗ppSpOtRHO 73 of 83 menu

Optimierung der Wiederholung schwerer Operationen in PHP

Im vorherigen Unterricht nehmen die wiederholten Funktionsaufrufe tatsächlich sehr wenig Zeit in Anspruch und unsere Optimierung würde nicht sehr viel einsparen. Allerdings wird alles viel schlimmer, wenn wir mehrere Male eine "schwere" Funktion aufrufen, die relativ lange Ausführungszeit benötigt.

Nehmen wir zum Beispiel an, wir haben eine Funktion, die die Teiler einer Zahl findet:

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

Offensichtlich ist diese Funktion recht "schwer". Daher wäre es eine schlechte Idee, einen Code wie diesen zu schreiben:

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

Besser ist es natürlich, die "schwere" Operation einmal auszuführen, das Ergebnis in einer Variable zu speichern und dann diese Variable an den benötigten Stellen zu verwenden:

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

Optimieren Sie den untenstehenden Code:

<?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; } ?>
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen