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