⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау