⊗ppSpOtRHO 73 of 83 menu

Оптимизатсияи такрори амалиётҳои вазнин дар PHP

Дар дарси гузашта, даъватҳои такрории функсияҳо дар асл вақти хеле каме мегиранд ва оптимизатсияи мо хеле зиёд ҳамоҳанг нахоҳад кард. Аммо, ҳама чиз бисёр бадтар хоҳад буд, агар мо чанд бор даъвати функсияи "вазнин"-ро иҷро кунем, ки барои муддати мусоид иҷро мешавад.

Бигзор, барои намуна, мо функсияе дошта бошем, ки тақсимкунандаҳои ададро меёбад:

<?php function getDivisors($num) { $result = []; for ($i = 1; $i <= $num; $i++) { if ($num % $i == 0) { $result[] = $i; } } return $result; } ?>

Ошкора аст, ки ин функсия хеле "вазнин" аст. Пас, идеяи номусоид ин хоҳад буд, ки чунин рамзро нависед:

<?php $num = 123456; if (array_sum(getDivisors($num)) >= 10 and array_sum(getDivisors($num)) <= 100) { } else { } ?>

Беҳтар, албатта, аст, ки амалиёти "вазнин"-ро як бор иҷро карда ва натиҷаро дар тағирёбанда сабт кардан, ва сипас он тағирёбандаро дар ҷойҳои зарурӣ истифода бурдан:

<?php $num = 123456; $sum = array_sum(getDivisors($num)); if ($sum >= 10 and $sum <= 100) { } else { } ?>

Рамзи дар поён овардашударо оптималӣ кунед:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'рост аст'; } else { echo 'норост аст'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Тоҷикӣ
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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан