⊗ppSpOtLO 74 of 83 menu

Syklisten operaatioiden optimointi PHP:ssä

Jopa kevyt operaatio, joka toistetaan monesti silmukassa, voi kuluttaa paljon resursseja.

Katsotaanpa esimerkkiä. Olkoon meillä annettu jokin taulukko:

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

Etsitään tämän taulukon elementtien keskiarvo. Tätä varten on löydettävä elementtien summa ja jaettava se niiden lukumäärällä. Oletetaan, että jokin ohjelmoija on jo ratkaissut tämän tehtävän seuraavalla tavalla:

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

Tarkastellaan tällaisen ratkaisun ongelmia. Teknisesti koodi toimii oikein ja antaa oikean vastauksen. Asia on siinä, että matemaattisesti on oikein jakaa koko summa lukumäärällä, kuin myös jakaa jokainen termi lukumäärällä.

Kuitenkin syntyy toinen ongelma. Asia on siinä, että suoritamme jaon niin monta kertaa kuin taulukossamme on elementtejä. Ja käy ilmi, että teemme suuren määrän ylimääräisiä operaatioita, sillä jaon olisi voinut suorittaa lopussa - kerran, jakamalla koko löydetyn summan.

Optimoidaan koodimme:

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

Optimoi alla oleva koodi:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$i<br>"; } } ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää