⊗ppSpOtEI 76 of 83 menu

Optimizacija odvečnih prehodov zanke v PHP

V naslednji kodi nek programer preverja, ali je v tabeli število 3:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; } } var_dump($exists); ?>

Kaj je narobe z njegovo rešitvijo? Zdi se, da se v zanki ne izvajajo nobene odvečne operacije. Težava pa je v tem, da potem, ko se določi, da je število 3 v tabeli - se zanka še vedno vrti do konca tabele.

Najbolj neracionalno bo, če se število 3 nahja nekje na začetku tabele, sama tabela pa bo dolga, recimo, 1000 elementov. Izkazalo se bo tisoč neuporabnih odvečnih iteracij zanke! Ni optimalno.

Optimizirajmo kodo, tako da zanko pravočasno ustavimo:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; break; } } var_dump($exists); ?>

Naslednja koda prešteje, koliko elementov tabele je treba sešteti, da vsota preseže 10. Izvedite optimizacijo:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $sum = 0; $i = 1; foreach ($arr as $elem) { $sum += $elem; if ($sum <= 10) { $i++; } } echo $i; ?>

Naslednja koda izpiše soda števila iz danega intervala. Izvedite optimizacijo:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0) { echo $i; } } ?>

Naslednja koda izpiše števila, ki so deljiva hkrati z 2 in z 3. Izvedite optimizacijo:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni