⊗ppSpOtLAC 75 of 83 menu

PHP-ում զանգվածի երկարության անհարկի հաշվարկը ցիկլում

Ենթադրենք տրված է որոշակի թվային զանգված.

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

Եկեք այնպես անենք, որ զանգվածի յուրաքանչյուր տարր բարձրացվի քառակուսի: Այսինքն, մենք պետք է ունենանք նույն $arr զանգվածը, բայց թվերի քառակուսիներով:

Այս դեպքում foreach ցիկլը հարմար չէ, այլ անհրաժեշտ է սովորական for ցիկլ զանգվածի համար, ահա այսպես.

<?php $arr = [1, 2, 3, 4, 5]; for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $arr[$i] * $arr[$i]; // փոխում ենք զանգվածի յուրաքանչյուր տարր } var_dump($arr); ?>

Ի՞նչ է սխալ այս կոդում: Խնդիրը նրանում է, որ count($arr) անիմաստ կերպով կհաշվարկվի ցիկլի յուրաքանչյուր իտերացիայի ժամանակ: Իսկ ինչու՞, միթե՞ զանգվածի երկարությունը ցիկլում չի փոխվում:

Օպտիմիզացիայի համար եկեք հաշվարկենք զանգվածի երկարությունը առանձին փոփոխականի մեջ.

<?php $arr = [1, 2, 3, 4, 5]; $len = count($arr); // օպտիմիզացնում ենք for ($i = 1; $i < $len; $i++) { $arr[$i] = $arr[$i] * $arr[$i]; } var_dump($arr); ?>

Օպտիմիզացրեք ստորև բերված կոդը.

<?php $arr = [1, 2, 2, 4, 5]; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i - 1] === $arr[$i]) { echo $arr[$i] . '<br>'; } } ?>
Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել