PHP Control Structures
PHP loops
PHP তে loops কি?
PHP অথবা যেকোনো programming language এ loop হচ্ছে একটি নির্দিষ্ট কাজ একটি নির্দিষ্ট শর্ত বা condition পূরণ না হওয়া পর্যন্ত বার বার করতে থাকা বা execute করা।
PHP তে loops কত প্রকার ?
PHP তে ৪ ধরণের loop আছে , সেগুলো হচ্ছে
- For
- While
- do-while
- foreach
PHP তে for loop কি?
PHP অথবা যেকোনো programming language এ for loop হচ্ছে একটি নির্দিষ্ট কাজ একটি নির্দিষ্ট শর্ত বা condition পূরণ না হওয়া পর্যন্ত বার বার করতে থাকা বা execute করে। for loop এ variable এর value initialization, condition এবং increment এর কাজ একই লাইনে করা হয়।
PHP তে for loop flowchart কি?
https://blog.w3programmers.com/trainings/zend-certified-php-engineering-zcpe-course/
PHP তে for loop Syntax কি?
PHP তে for loop Syntax ২ ভাবে লেখা যায়
syntax ১:
for (initialization; condition; increment/decrement){ code to be executed; }
syntax ২ বা Alternative Syntax :
for (initialization; condition; increment/decrement): statement ... endfor;
নিম্নলিখিত উদাহরণ গুলো লক্ষ্য করুন , সব গুলো for loop ই সংখ্যা 1 থেকে 10 দেখাবে।
উদাহরণ ১:
<?php for ($i = 1; $i <= 10; $i++) { echo $i; } ?>
for loop কে আমরা এভাবেও লিখতে পারি।
উদাহরণ ২:
<?php for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } ?>
আবার আপনি চাইলে for loop কে এভাবেও লিখতে পারেন।
উদাহরণ ৩:
<?php $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } ?>
নিম্নলিখিত উদাহরণটি লক্ষ্য করুন , এখানে আমরা for loop এর মাধ্যমে ১ থেকে ২০ এর মধ্যের জোড় সংখ্যা গুলো print করব।
উদাহরণ ৪:
<?php for($i=2;$i<=20;$i+=2){ echo $i,"<br>"; } ?>
একই ভাবে আমরা for loop এর মাধ্যমে ১ থেকে ২০ এর মধ্যের বেজোড় সংখ্যা গুলো print করতে পারি।
উদাহরণ ৫:
<?php for($i=1;$i<=20;$i+=2){ echo $i,"<br>"; } ?>
নিচের উদাহরণে PHP for loop দিয়ে fibonacci series তৈরী করা হয়েছে। উল্লেখ্য fibonacci series হচ্ছে যেকোনো তিনটি নম্বর এর মধ্যে প্রথম দুইটির যোগফল হচ্ছে তার তৃতীয় নম্বরটি।
উদাহরণ ৭:
<?php $f1=0; $f2=1; $f=1; $f3=1; echo $f1,"<br>",$f2; for($i=0;$i<=6;$i++){ $f3=$f1+$f2; $f1=$f2; $f2=$f3; echo $f3; }
নিচের উদাহরণে আমরা for loop এর মাধ্যমে ২০ থেকে ১ অর্থাৎ reverse সংখ্যা গুলো print করতে পারি।
উদাহরণ ৮:
<?php for ($i = 20; $i >0; $i--): echo $i,"<br>"; endfor; ?>
PHP তে while loop কি?
PHP অথবা যেকোনো programming language এ while loop হচ্ছে for loop এর মতোই অর্থাৎ :একটি নির্দিষ্ট কাজ একটি নির্দিষ্ট শর্ত বা condition পূরণ না হওয়া পর্যন্ত বার বার করতে থাকা বা execute করে। পার্থক্য হচ্ছে while loop এ variable এর value initialization, condition এবং increment এর কাজ ভিন্ন ভিন্ন লাইনে করা হয়।
PHP তে While loop flowchart কি?
PHP তে while loop Syntax কি?
PHP তে while loop Syntax ২ ভাবে লেখা যায়
syntax ১:
initialization while (condition){ statement increment }
syntax 2:
initialization while (condition): statement increment endwhile;
নিম্নলিখিত উদাহরণ গুলো লক্ষ্য করুন , সব গুলো while loop ই সংখ্যা 1 থেকে 10 দেখাবে।
উদাহরণ ১:
<?php $i=1; while ($i <= 10) { echo $i; $i++; } ?>
নিম্নলিখিত উদাহরণটি লক্ষ্য করুন , এখানে আমরা while loop এর মাধ্যমে 1 থেকে 2০ এর মধ্যের জোড় সংখ্যা গুলো print করব।
উদাহরণ ২:
<?php $i=2; while ($i <= 20) { echo $i; $i+=2; } ?>
একই ভাবে আমরা while loop এর মাধ্যমে 1 থেকে 20 এর মধ্যের বেজোড় সংখ্যা গুলো print করতে পারি।
উদাহরণ ৩:
<?php $i=1; while ($i <= 20) { echo $i; $i+=2; } ?>
নিচের উদাহরণে PHP while loop দিয়ে fibonacci series তৈরী করা হয়েছে। উল্লেখ্য fibonacci series হচ্ছে যেকোনো তিনটি নম্বর এর মধ্যে প্রথম দুইটির যোগফল হচ্ছে তার তৃতীয় নম্বরটি।
উদাহরণ ৪:
<?php $f1=0; $f2=1; $f=1; $f3=1; echo $f1,"<br>",$f2; $i=1; while($i<=6){ $f3=$f1+$f2; $f1=$f2; $f2=$f3; echo $f3; $i++; }
নিচের উদাহরণে আমরা while loop এর মাধ্যমে 20 থেকে 1 অর্থাৎ reverse সংখ্যা গুলো print করতে পারি।
উদাহরণ ৫:
<?php $i = 20; while ($i >0): echo $i,"<br>"; $i--; endwhile; ?>
PHP তে do-while loop কি?
PHP অথবা যেকোনো programming language এ do-while loop হচ্ছে while loop এর মতোই অর্থাৎ :একটি নির্দিষ্ট কাজ একটি নির্দিষ্ট শর্ত বা condition পূরণ না হওয়া পর্যন্ত বার বার করতে থাকা বা execute করে। while loop এ variable এর value initialization, condition এবং increment এর কাজ ভিন্ন ভিন্ন লাইনে করা হয়। পার্থক্য হচ্ছে, while loop এ condition true না হলে while এর code block execute করতে পারেনা। এবং কোনো ফলাফল ও দেখায়না। কিন্তু do-while এ condition true না হলেও ১ বার code block execute করে, এবং ফলাফল দেখাতে পারে।
PHP তে do-While loop flowchart কি?
PHP তে do while loop Syntax কি?
do { // This code is run at least once } while ( condition ) // This code is run after the loop finishes
নিম্নলিখিত উদাহরণটি লক্ষ্য করুন
<?php $theNumber = rand ( 1, 10 ); do { $myGuess = rand ( 1, 10 ); echo "I'm guessing: $myGuess</br />"; } while ( $myGuess != $theNumber ); echo "I got it! It's $myGuess!<br />"; ?>
Result
I'm guessing: 3 I'm guessing: 5 I'm guessing: 7 I'm guessing: 2 I got it! It's 2!
PHP তে foreach কি?
PHP তে foreach বিশেষ ভাবে PHP array এবং object এর প্রত্যেকটি element এ loop এর কাজ করার জন্য ব্যবহৃত হয় ।
PHP তে foreach loop flowchart কি?
PHP তে foreach Syntax কি?
PHP তে foreach loop Syntax ৩ ভাবে লেখা যায়
syntax ১:
foreach ($array_or_object_handler as $value){ statement }
syntax 2:
foreach ($array_or_object_handler as $key=>$value){ statement }
syntax ৩:
foreach ($array_or_object_handler as $value): statement endforeach;
syntax ৪:
foreach ($array_or_object_handler as $key=>$value): statement endforeach;
নিম্নলিখিত উদাহরণ গুলো লক্ষ্য করুন , কিভাবে আমরা array এর element গুলোকে foreach দিয়ে iterate করতে পারি।
উদাহরণ ১:
$numbers=["one"=>1,"two"=>2,"three"=3,"four">4,"five"=>5]; foreach($numbers as $val){ echo $val,"<br>"; }
Result:
1 2 3 4 5
একইভাবে আমরা $numbers array এর key গুলোও print করতে পারি। নিম্নের উদাহরণটি দেখুন :
উদাহরণ ২:
$numbers=["one"=>1,"two"=>2,"three"=3,"four">4,"five"=>5]; foreach($numbers as $key=>$val){ echo $key,"<br>"; }
Result:
one two three four five
PHP foreach দিয়ে কি array element পরিবর্তন করা যায়?
হ্যাঁ PHP foreach এর সাথে reference ব্যবহার করে array element গুলোও পরিবর্তন করা যায় নিচের উদাহরণ দেখুন:
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; // $arr is now array(2, 4, 6, 8) } print_r($arr); unset($value); // break the reference with the last element ?>
Result:
2 4 6 8
ব্যাখ্যা : যেহেতু এখানে মূল এরে $arr এর সাথে $value variable টি reference করা , তাই $value variable টি change হওয়ার সাথে সাথে মূল array টি ও পরিবর্তন হয়ে যাবে।
PHP foreach দিয়ে কি আমরা class এর সব property এবং তাদের value print করতে পারব?
হ্যা অবশ্যয় তবে শুধু মাত্র public property গুলো print করতে পারব। নিচের উদাহরণ লক্ষ্য করুন :
<?php class A{ public $name="Plabon Mozumder"; public $email="plabon@mail.com"; public $mobile="01788339922"; public $price; private $user; public function setPrice($amount){ $this->price=$amount; } } $obj=new A; $obj->setPrice(100); foreach($obj as $property=>$val){ print $property."=>".$val."\n"; }
Result:
name=>Plabon Mozumder email=>plabon@mail.com mobile=>01788339922 price=>100
PHP foreach ছাড়া কি array এর key এবং value প্রিন্ট করার অন্য কোনো উপায় আছে?
হ্যা আছে, PHP foreach ছাড়াও আপনি while loop দিয়ে array এর key এবং value প্রিন্ট করতে পারবেন।
<?php $arr = array("one"=>1, "two"=>2, "three"=>3); reset($arr); while (list($key, $value) = each($arr)) { echo "$key=> $value\n"; }
Result:
one=> 1 two=> 2 three=> 3