⊗ppSpOtLO 74 of 83 menu

Optymalizacja operacji cyklicznych w PHP

Nawet lekka operacja, wielokrotnie powtarzana w pętli, może zużyć dużo zasobów.

Spójrzmy na przykład. Załóżmy, że mamy daną pewną tablicę:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; ?>

Znajdźmy średnią elementów tej tablicy. Aby to zrobić, trzeba znaleźć sumę elementów i podzielić ją przez ich liczbę. Załóżmy, że jakiś programista już rozwiązał to zadanie następująco:

<?php $sum = 0; foreach ($arr as $elem) { $sum += $elem / count($arr); } echo $sum; ?>

Przyjrzyjmy się problemom takiego rozwiązania. Technicznie kod działa poprawnie i daje prawidłowy wynik. Chodzi o to, że matematycznie poprawne jest zarówno dzielenie całej sumy przez liczbę elementów, jak i dzielenie każdego ze składników przez liczbę elementów.

Jednak pojawia się inny problem. Chodzi o to, że będziemy wykonywać dzielenie tyle razy, ile elementów znajduje się w naszej tablicy. I okazuje się, że wykonujemy dużą liczbę zbędnych operacji, bo dzielenie można by wykonać na końcu - jeden raz, dzieląc całą znalezioną sumę.

Zoptymalizujmy nasz kod:

<?php $sum = 0; foreach ($arr as $elem) { $sum += $elem; } echo $sum / count($arr); ?>

Zoptymalizuj podany poniżej kod:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$i<br>"; } } ?>
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć