⊗ppSpOtLAC 75 of 83 menu

Unnötige Berechnung der Array-Länge in einer Schleife in PHP

Gegeben sei ein Array mit Zahlen:

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

Lassen Sie uns jedes Element des Arrays quadrieren. Das heißt, wir sollten das gleiche Array $arr behalten, aber mit Quadratzahlen.

In diesem Fall ist eine foreach-Schleife nicht geeignet, sondern eine normale for-Schleife für das Array wird benötigt, so wie hier:

<?php $arr = [1, 2, 3, 4, 5]; for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $arr[$i] * $arr[$i]; // ändert jedes Element des Arrays } var_dump($arr); ?>

Was ist falsch an diesem Code? Das Problem ist, dass count($arr) sinnlos in jedem Schleifendurchlauf berechnet wird! Warum? Die Länge des Arrays ändert sich in der Schleife doch nicht, oder?

Zur Optimierung berechnen wir die Länge des Arrays in einer separaten Variable:

<?php $arr = [1, 2, 3, 4, 5]; $len = count($arr); // optimieren for ($i = 1; $i < $len; $i++) { $arr[$i] = $arr[$i] * $arr[$i]; } var_dump($arr); ?>

Optimieren Sie den untenstehenden Code:

<?php $arr = [1, 2, 2, 4, 5]; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i - 1] === $arr[$i]) { echo $arr[$i] . '<br>'; } } ?>
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