⊗ppSpOtEI 76 of 83 menu

Optimierung überflüssiger Schleifendurchläufe in PHP

Im folgenden Code prüft ein Programmierer, ob das Array die Zahl 3 enthält:

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

Was ist an seiner Lösung falsch? Auf den ersten Blick scheint die Schleife keine überflüssigen Operationen auszuführen. Das Problem liegt jedoch darin, dass die Schleife weiterläuft, nachdem festgestellt wurde, dass die Zahl 3 im Array enthalten ist.

Am ineffizientesten ist es, wenn die Zahl 3 irgendwo am Anfang des Arrays gefunden wird, das Array selbst aber eine Länge von, sagen wir, 1000 Elementen hat. Das ergibt tausend nutzlose, überflüssige Schleifeniterationen! Nicht optimal.

Optimieren wir den Code, indem wir die Schleife rechtzeitig anhalten:

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

Der folgende Code zählt, wie viele Elemente des Arrays addiert werden müssen, damit die Summe größer als 10 wird. Führen Sie eine Optimierung durch:

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

Der folgende Code gibt gerade Zahlen aus einem bestimmten Bereich aus. Führen Sie eine Optimierung durch:

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

Der folgende Code gibt Zahlen aus, die gleichzeitig durch 2 und durch 3 teilbar sind. Führen Sie eine Optimierung durch:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen