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

Бу кодда нима но tug'ri? Муаммо шундаки, count($arr) бемаъни равишда циклнинг ҳар бир такрорланишида хисобланади! Нега, Axir массивнинг узунлиги цикла ўзгармайди, тугрими?

Оптимизация қилиш учун массив узунлигини хисоблашни алохида ўзгарувчига оламиз:

<?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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш