⊗ppSpOtLO 74 of 83 menu

PHP-те циклдік операцияларды оңтайландыру

Тіпті жеңіл операция да, егер ол циклде көп рет қайталанса, көп ресурсты жұмсауы мүмкін.

Мысалға қарайық. Бізде белгілі бір массив бар делік:

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

Осы массив элементтерінің орташа мәнін табайық. Ол үшін элементтердің қосындысын тауып, оны санына бөлу керек. Бір программашы бұл мәселені мынадай жолмен шешкен делік:

<?php $sum = 0; foreach ($arr as $elem) { $sum += $elem / count($arr); } echo $sum; ?>

Осы шешімнің мәселелерін қарастырайық. Техникалық тұрғыдан код дұрыс жұмыс істейді және дұрыс жауап береді. Математикалық тұрғыдан дұрыс бүкіл қосындыны санға бөлу де, әрбір қосылғышты санға бөлу де.

Алайда, басқа мәселе туындайды. Мәселе мында, біз бөлу операциясын массивтегі элементтер санына қарай орындаймыз. Нәтижесінде біз көптеген артық операцияларды орындаймыз, себебі бөлуді соңында - бір рет, табылған барлық қосындыны бөлу арқылы орындауға болатын еді.

Кодты оңтайландырайық:

<?php $sum = 0; foreach ($arr as $elem) { $sum += $elem; } echo $sum / count($arr); ?>

Төмендегі кодты оңтайландырыңыз:

<?php for ($i = 1; $i <= 31; $i++) { if ($i === date('d')) { echo "<b>$i</b><br>"; } if ($i !== date('d')) { echo "$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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау