আমাদের আগের আর্টিকেলে আমরা বলেছিলাম যে পিএইচপিতে সাধারনভাবে চার রকমের লুপ আছে এবং আমরা while ও do-while নিয়ে আলোচনা করেছিলাম। এই আর্টিকেলে আমরা দেখব কিভাবে for দিয়ে লুপ তৈরী করা যায়।

<?php
//filename: /home/hasin/www/loop3.php
for($i=0;$i<10;$i++)
{
    echo $i."
"; if ($i>7) break; } ?>

এই হল ফর লুপের উদাহরন। চলুন একটু কোড বোঝা যাক

লাইন # ৩ এ আমরা আমাদের for লুপ শুরু করেছি। এখানে একটা জিনিস খেয়াল করুন, for লুপের কন্ডিশনে তিনটি অংশ আছে। একটা হল

$i=0; এটা দিয়ে আমরা একটি ভ্যারিয়েবলের মান ঠিক করে দিয়েছি
$i<10; এটা দিয়ে আমরা কন্ডিশন ঠিক করেছি, যে যতক্ষন $i এর মান ১০ এর নিচে থাকবে ততক্ষন পর্যন্ত আমাদের for লুপ কাজ করবে।
$i++ এটা দিয়ে আমরা ভ্যারিয়েবলের মান এক এক করে বাড়িয়েছি

লাইন # ৪ এ আমরা for লুপের স্কোপ শুরু করেছি সেকেন্ড ব্র‍্যাকেট দিয়ে যা শেষ হয়েছে লাইন # ৭ এ

লাইন # ৫ এ আমরা $i এর মান প্রিন্ট করেছি

লাইন # ৬ এ আমরা চেক করেছি যে $i এর মান ৭ এর বেশি কিনা। বেশী হলে আমরা break লিখে পিএইচপিকে বলছি for লুপ থেকে বের হয়ে যেতে।

চলুন একটা মজার কোড লেখা যাক। আমরা নিচের কোড টুকু দিয়ে দেখব যে একটি সংখ্যা মৌলিক সংখ্যা (prime number) কিনা . তার আগে জেনে নেই যে প্রাইম নাম্বার বের করার জন্য অনেক জটিল জটিল অ্যালগরিদম রয়েছে, কিন্তু সবচেয়ে সহজটি হল যে সংখ্যা আমরা চেক করব তার স্কয়ার রুট বের করব। এবার ২ থেকে স্কয়ার রুট পর্যন্ত একটি লুপ চালিয়ে আমরা দেখব যে আমাদের সংখ্যাটি এই সংখ্যাগুলোর কোনোটা দিয়ে ভাগ যায় কিনা (অর্থাৎ ভাগফলের অবশিষ্ট ০ কিনা) – যদি ০ হয়, তাহলে এটা প্রাইম নাম্বার নয়। চলুন দেখা যাক কোডে কিভাবে এটা লেখা যায়

<?php
//filename: /home/hasin/www/primenumber.php
$number = 29;
$isPrime = true;
$sqrt = floor(sqrt($number));
for ($i=2;$i<=$sqrt;$i++)
{
    if($number % $i == 0)
    {
        $isPrime = false;
        break;
    }
}

if ($isPrime)
echo "{$number} is a prime number";
else
echo "{$number} is not a prime number";
?>

কিভাবে কি হল বোঝার জন্য চলুন একটু কোড দেখি।

লাইন # ৪ এ আমরা একটি ভ্যারিয়েবল $isPrime এর মান true রেখেছি। কারন লুপ চলার সময় কোন সংখ্যা প্রাইম নাম্বার নয় এ ব্যপারে নিশ্চিত হলে আমরা এই ভ্যারিয়েবলের মান false করে দিব।

লাইন # ৫ এ আমরা সংখ্যাটির স্কয়ার রুট বের করেছি sqrt ফাংশন দিয়ে। এটা একটা পিএইচপির একটা বিল্ট ইন ম্যাথ ফাংশন। এরপরে আমরা একই লাইনে এই স্কয়ার রুটের দশমিক অংশ বাদ দিয়েছি floor ফাংশন দিয়ে। এই ফাংশন গুলো সম্পর্কে বিস্তারিত জানার জন্য আমাদের ম্যাথ সংক্রান্ত আর্টিকেলটি পড়ুন

বাকি অংশটুকুতে আর নতুন কিছু নেই। আমাদের আগের আর্টিকেল গুলো পড়ে থাকলে আপনি অনশ্যই বুঝতে পারবেন বাকি লাইন গুলোতে আমরা কি করেছি।

  • Share/Bookmark