PHP For Loop Tutorials ( ফর লুপ )

এই লুপ টি একটু জটিল। ফর লুপ এর কাজ while loop দিয়েও হয়, তবে কিছু সুবিধার কারনে এটি ব্যাহৃত হয়।

সংকেত

for (expr1; expr2; expr3)

{

code to be executed;}

for loop statement ব্রাকেটের ভিতর ৩টি expression নেয় যেগুলো সেমিক্লোন দ্বারা বিভক্ত হয়। ১ম টি assignment statement(loop control variable), প্রথমবার loop টি পূনরাবৃত্তির আগেই এটা একবার execution হয়। ২য় টি Boolean expression  যেটা প্রতিবার পূনরাবৃত্তির আগেই একবার এর মান নির্নীত(evaluate)হয়, এই মান true হলে পূনরাবৃত্তি চলবে আর যদি false return  করে তাহলে পূনরাবৃত্তি/লুপিং বন্ধ হয়ে যাবে। ৩য় টি দিয়ে loop control variable এর মান বাড়াতে বা কমাতে ব্যাবহৃত হয়। নিচের উদাহরনটি দেখুন লুপটি শুরু হয়েছে $i=1 দিয়ে এবং এটি চলবে যতক্ষন $i এর মান ৫ এর চেয়ে ছোট বা সমান হয়। আর $i এর মান ১ করে বাড়বে।

<?php

for ($i=1; $i<=5; $i++){

echo "The number is " . $i . "<br />";}

?>

Output

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

যেকোন expression (expr1, expr2 অথবা expr3) ফাকা বা একটিতে একাধিক expression থাকতে পারে, যেগুলো কমা দ্বারা বিভক্ত হবে। যদি expr2 ফাকা থাকে তাহলে এর default মান true নিয়ে নেয় এবং তখন লুপটি চলতেই থাকবে, কখনও থামবেনা। তবে break স্টেটমেন্ট ব্যবহার করে থামানো যাবে। যেমন আাগের loop টিই চাইলে নিচের মত করে করতে পারেন

<?php

for ($i=1; ; $i++){

if($i > 5){

break;}

echo "The number is " . $i . "<br />";

}?>

 

** php তে ফর লুপে কোলন চিহ্ন সমর্থন করে। এটা অনেক উপকারী বিশেষ করে যখন loop er ভিতর HTML লিখতে হয়। যেমন

<?php for ($i=1; $i<=5; $i++):?>

<p>The number is <?php echo $i;?></p>;

<?php endfor; ?>

দেখুন কিভাবে কোলন চিহ্ন ব্যবহার হয়েছে দ্বিতীয় বন্ধনীর বদলে। দ্বিতীয় বন্ধনী দিলে যেমন সেটা শেষ করতে হয় "}" চিহ্ন দিয়ে, কোলন দিলে শেষ করতে হয় endfor; এভাবে।

 

For Loop ব্যবহার করে তারার পিরামিড

পদ্ধতি এক

<center>

<?php

function pyramid($hm){

for($i=1; $i<=$hm; $i++){

for($j=1; $j<=$i; $j++){

echo '*';

}

echo '<br/>';

}

}

pyramid(5);?>

</center>

ব্যাখ্যা: $hm প্যারামিটারে যে সংখ্যা দিবেন সেই সংখ্যক তারকা শেষ সারিতে দেখাবে। ১মলুপে (অর্থ্যাৎ $i এর লুপে) $i এখানে ১ থেকে শুরু হয়েছে এবং প্রতিবার লুপিং এর সময় ১ করে বাড়বে কারন ৩য় expression $i++ আছে। আর loop টি চলবে $hm বার কারন ২য় এক্সপ্রেশনে $i <= $hm দেয়া আছে। এবার ২য় লুপে ($j এর লুপটিতে) $j এর মান ১ থেকে শুরু হবে এবং $j<=$i এটার জায়গায় প্রতিবার লুপের সময় $i এর মান ওখানে ১ করে বাড়বে। সুতরাং এভাবে ১ম বার একটি * echo হবে এরপর একটা br ট্যাগ এরপরের বার ২য় ফর লুপে $i এর মান ২ হয়ে যাবে এবং দুইবার * echo হবে, ৩য় বার আবার ২য় লুপে ($j এর লুপে) $i এর মান ৩ হবে এবং ৩টি * echo হবে এবং একটি br ট্যাগ। এভাবে pyramid() এর ভিতর প্যারামিটার যে সংখ্যা দিবেন সেই সংখ্যক বার loop চলবে এবং * echo হতে থাকবে।

পদ্ধতি দুই

<?php

for($i=1; $i<=5; $i++){

for($j=5; $j>$i; $j--){

echo '&nbsp;';

}

for($j=$i; $j>0; $j--){

echo '*';

}

echo '<br/>';

}

?>

আরও অনেকভাবে করা যায়। আমরা দুটি দেখালাম। এখানে &nbsp; দিয়ে স্পেস (ফাকা জায়গা) দেয়া হয়েছে, যেটা প্রতিটি স্টারের পরে থাকে।