⊗ppSpOtEI 76 of 83 menu

Optimalisering van oortollige lusherhalings in PHP

In die volgende kode gaan 'n programmeerder na of die getal 3 in die skikking voorkom:

<?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); ?>

Wat is verkeerd met sy oplossing? Dit lyk asof daar geen oortollige bewerkings in die lus gedoen word nie. Die probleem is eger dat, nadat vasgestel is dat die getal 3 in die skikking is, die lus steeds tot die einde van die skikking voortgaan.

Die mees onrasionele sal wees as die getal 3 iewers aan die begin van die skikking gevind word, en die skikking self lank is, sê 1000 elemente. Dit sal duisend nuttelose oortollige herhalings van die lus beteken! Nie optimaal nie.

Laat ons die kode optimaliseer deur die lus betyds te stop:

<?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); ?>

Die volgende kode bereken hoeveel elemente van die skikking opgetel moet word vir die som om groter as 10 te word. Voer die optimalisering uit:

<?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; ?>

Die volgende kode druk ewe getalle uit die gegewe reeks af. Voer die optimalisering uit:

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

Die volgende kode druk getalle af wat gelyktydig deur 2 en 3 deelbaar is. Voer die optimalisering uit:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp