⊗ppSpOtLO 74 of 83 menu

Optimering av cykliska operationer i PHP

Även en lätt operation, som upprepas många gånger i en loop, kan ta upp många resurser.

Låt oss titta på ett exempel. Antag att vi har en given array:

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

Låt oss hitta medelvärdet av elementen i denna array. För att göra detta måste du hitta summan av elementen och dividera den med antalet. Antag att någon programmerare redan har löst detta problem på följande sätt:

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

Låt oss överväga problemen med denna lösning. Tekniskt sett fungerar koden korrekt och ger rätt svar. Saken är den att matematiskt korrekt är att både dividera hela summan med antalet, och dividera varje term med antalet.

Ett annat problem uppstår dock. Saken är att vi kommer att utföra division lika många gånger som det finns element i vår array. Och det visar sig att vi gör ett stort antal onödiga operationer, eftersom divisionen kunde ha gjorts i slutet - en gång, genom att dividera hela den hittade summan.

Låt oss optimera vår kod:

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

Optimera koden nedan:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$i<br>"; } } ?>
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa