⊗ppSpOtLAC 75 of 83 menu

Calcolo non necessario della lunghezza dell'array in un ciclo in PHP

Supponiamo di avere un array di numeri:

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

Facciamo in modo che ogni elemento dell'array venga elevato al quadrato. Cioè, dovremmo avere lo stesso array $arr, ma con i numeri al quadrato.

In questo caso, il ciclo foreach non è adatto, ma serve un normale ciclo for per l'array, in questo modo:

<?php $arr = [1, 2, 3, 4, 5]; for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $arr[$i] * $arr[$i]; // modifica ogni elemento dell'array } var_dump($arr); ?>

Cosa non va in questo codice? Il problema è che count($arr) verrà calcolato inutilmente ad ogni iterazione del ciclo! Perché, dopotutto, la lunghezza dell'array non cambia durante il ciclo, giusto?

Per ottimizzare, spostiamo il calcolo della lunghezza dell'array in una variabile separata:

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

Ottimizza il codice seguente:

<?php $arr = [1, 2, 2, 4, 5]; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i - 1] === $arr[$i]) { echo $arr[$i] . '<br>'; } } ?>
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta