⊗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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა