PHP-এ চক্রীয় অপারেশনের অপ্টিমাইজেশন

এমনকি একটি হালকা অপারেশন, বারবার লুপে পুনরাবৃত্তি করা, অনেক রিসোর্স নিতে পারে।

আসুন একটি উদাহরণ দেখি। ধরা যাক আমাদের একটি নির্দিষ্ট অ্যারে দেওয়া হয়েছে:

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

আসুন এই অ্যারের উপাদানগুলির গড় নির্ণয় করি। এর জন্য উপাদানগুলির যোগফল বের করতে হবে এবং এটিকে সংখ্যা দিয়ে ভাগ করতে হবে। ধরা যাক কোনো প্রোগ্রামার ইতিমধ্যেই এই সমস্যাটির সমাধান করেছেন নিম্নলিখিত উপায়ে:

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

আসুন এমন সমাধানের সমস্যাগুলি বিবেচনা করি। প্রযুক্তিগতভাবে কোডটি সঠিকভাবে কাজ করে এবং সঠিক উত্তর দেয়। বিষয়টি হল যে গাণিতিকভাবে সঠিক পুরো যোগফলকে সংখ্যা দিয়ে ভাগ করা, যেমন প্রতিটি পদকে সংখ্যা দিয়ে ভাগ করা।

যাইহোক, অন্য একটি সমস্যা দেখা দেয়। বিষয়টি হল, আমরা বিভাজন সম্পাদন করব যতবার আমাদের অ্যারেতে উপাদান আছে। এবং দেখা যাচ্ছে যে আমরা করছি অনেকগুলি অতিরিক্ত অপারেশন, কারণ বিভাজন করা যেতে পারে শেষে - একবার, পুরো প্রাপ্ত যোগফল ভাগ করে।

আসুন আমাদের কোডটি অপ্টিমাইজ করি:

php<?php
  $sum = 0;
  
  foreach ($arr as $elem) {
    $sum += $elem;
  }
  
  echo $sum / count($arr);
?>
Задание 1

নীচের কোডটি অপ্টিমাইজ করুন:

php<?php
  for ($i = 1; $i <= 31; $i++) {
    if ($i === date('d')) {
      echo "<b>$i</b><br>";
    }
    
    if ($i !== date('d')) {
      echo "$i<br>";
    }
  }
?>