⊗ppSpOtEI 76 of 83 menu

PHP-ში ციკლის ზედმეტი გამეორებების ოპტიმიზაცია

შემდეგ კოდში, რაღაც პროგრამისტი ამოწმებს, არის თუ არა მასივში ნომერი 3:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; } } var_dump($exists); ?>

რა არის სწორი მის გადაწყვეტაში? როგორც ჩანს, ციკლში არანაირი დამატებითი ოპერაცია არ სრულდება. პრობლემა, თუმცა, ისაა, რომ მას შემდეგ რაც დადგინდება, რომ ნომერი 3 არის მასივში - ციკლი მაინც გრძელდება მასივის ბოლომდე.

ყველაზე არარაციონალური იქნება, თუ ნომერი 3 იქნება ნაპოვნი მასივის დასაწყისში, ხოლო თავად მასივი იქნება 1000 ელემენტის სიგრძის. მიიღება ათასი უსარგებლო ზედმეტი გამეორება ციკლის! არაოპტიმალური.

ოპტიმიზაცია გავუკეთოთ კოდს, ციკლის დროულად გაჩერებით:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; break; } } var_dump($exists); ?>

შემდეგი კოდი ითვლის, რამდენი მასივის ელემენტის დამატებაა საჭირო, რათა ჯამი გახდეს 10-ზე მეტი. შეასრულეთ ოპტიმიზაცია:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $sum = 0; $i = 1; foreach ($arr as $elem) { $sum += $elem; if ($sum <= 10) { $i++; } } echo $i; ?>

შემდეგი კოდი აჩვენებს ლუწ რიცხვებს მოცემული ინტერვალიდან. შეასრულეთ ოპტიმიზაცია:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0) { echo $i; } } ?>

შემდეგი კოდი აჩვენებს რიცხვებს, რომლებიც იყოფა ერთდროულად 2-ზე და 3-ზე. შეასრულეთ ოპტიმიზაცია:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა