⊗ppSpOtEI 76 of 83 menu

Felesleges ciklusiterációk optimalizálása PHP-ban

A következő kódban egy programozó ellenőrzi, hogy van-e a tömbben 3 szám:

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

Mi a baj a megoldásával? Úgy tűnik, nincsenek felesleges műveletek a ciklusban. A probléma azonban az, hogy miután megállapítottuk, hogy a 3 szám benne van a tömbben - a ciklus még mindig tovább fut a tömb végéig.

Legképtelenebb az lesz, ha a 3 szám valahol a tömb elején található, maga a tömb pedig mondjuk 1000 elem hosszú. Ez ezer haszontalan felesleges iterációt jelent a ciklusban! Nem optimális.

Optimalizáljuk a kódot a ciklus időben történő leállításával:

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

A következő kód kiszámolja, hány tömb elemet kell összeadni, hogy az összeg nagyobb legyen 10-nél. Végezze el az optimalizálást:

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

A következő kód páros számokat ír ki egy adott intervallumból. Végezze el az optimalizálást:

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

A következő kód olyan számokat ír ki, amelyek egyszerre oszthatók 2-vel és 3-mal. Végezze el az optimalizálást:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás