⊗ppSpOtLO 74 of 83 menu

Ciklisko operāciju optimizācija PHP

Pat viegla operācija, kas atkārtota ciklā daudz reižu, var aizņemt daudz resursu.

Apskatīsim piemērā. Pieņemsim, ka mums ir dots kāds masīvs:

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

Atradīsim šī masīva elementu vidējo vērtību. Lai to izdarītu, jāatrod elementu summa un jādala ar to skaitu. Pieņemsim, ka kāds programmētājs jau atrisināja šo uzdevumu šādi:

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

Apskatīsim šāda risinājuma problēmas. Tehniski kods darbojas pareizi un sniedz pareizo atbildi. Lieta ir tāda, ka matemātiski korekti ir gan dalīt visu summu ar skaitu, gan dalīt katru no saskaitāmajiem ar skaitu.

Tomēr rodas cita problēma. Lieta ir tāda, ka mēs veiksim dalīšanu tik reižu, cik elementu ir mūsu masīvā. Un iznāk, ka mēs darām lielu skaitu lieku operāciju, jo dalīšanu varēja izpildīt beigās - vienu reizi, dalot visu atrasto summu.

Optimizēsim mūsu kodu:

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

Optimizējiet zemāk redzamo kodu:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$i<br>"; } } ?>
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt