⊗ppSpOtLAC 75 of 83 menu

Nevajadzīga masīva garuma aprēķināšana cilpā PHP

Pieņemsim, ka dots kāds skaitļu masīvs:

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

Padarīsim tā, lai katrs masīva elements tiktu pacelts kvadrātā. Tas ir, mums vajadzētu palikt tam pašam masīvam $arr, bet ar skaitļu kvadrātiem.

Šajā gadījumā cikls foreach neder, bet vajadzīgs parasts cikls for pa masīvu, šeit šādi:

<?php $arr = [1, 2, 3, 4, 5]; for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $arr[$i] * $arr[$i]; // mainām katru masīva elementu } var_dump($arr); ?>

Kas nav kārtībā ar šo kodu? Problēma ir tā, ka count($arr) bezjēgīgi tiks aprēķināts katrā cikla iterācijā! Bet kāpēc, jo masīva garums ciklā nemainās, vai ne?

Lai optimizētu, izņemsim masīva garuma aprēķinu atsevišķā mainīgajā:

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

Optimizējiet zemāk redzamo kodu:

<?php $arr = [1, 2, 2, 4, 5]; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i - 1] === $arr[$i]) { echo $arr[$i] . '<br>'; } } ?>
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt