⊗ppSpOtLO 74 of 83 menu

Cikliškų operacijų optimizavimas PHP

Net ir lengva operacija, daug kartų kartojama cikle, gali atimti daug resursų.

Pažiūrėkime pavyzdžiu. Tarkime, kad turime tam tikrą masyvą:

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

Raskime šio masyvo elementų vidurkį. Norint tai padaryti, reikia rasti elementų sumą ir padalinti ją iš jų kiekio. Tarkime, kad koks nors programuotojas jau išsprendė šią užduotį taip:

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

Panagrinėkime šio sprendimo problemas. Techniškai kodas veikia teisingai ir duoda teisingą atsakymą. Esmė ta, kad matematiškai teisinga kaip padalinti visą sumą iš kiekio, taip ir padalinti kiekvieną iš dėmenų iš kiekio.

Tačiau iškyla kita problema. Esmė ta, kad mes atliksime dalybą tiek kartų, kiek elementų yra mūsų masyve. Ir išeina, kad mes darome daug nereikalingų operacijų, juk dalybą galima buvo atlikti pabaigoje - vieną kartą, padalijus visą rastą sumą.

Optimizuokime mūsų kodą:

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

Optimizuokite žemiau pateiktą kodą:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$i<br>"; } } ?>
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti