در ادامه مبحث آموزش PHP امروز به آموزش حلقه ها می رسیم که با ذکر مثال دستوراتن While , for , foreach را کامل توضیح خواهیم داد.
۱ – While
در PHP انواع مختلفی از حلقه ها وجود دارد. کاری که حلقه ها انجام می دهند مشخص کردن این است که آیا یک گزاره درست است یا غلط. اگر درست باشد کدهایی را اجرا می کند و سپس دوباره به سراغ گزاره بر می گردد و مجددا درستی آن را چک می کند. حلقه به همین صورت ادامه پیدا می کند تا زمانی که گزاره غلط می شود.
در زیر یک مثال ساده از while می بینید:
<?php $num = 1; while ( $num <=10 ) { print $num . " "; $num++; } ?>
کاری که کد بالا انجام میدهد این است که تا زمانی که متغیر $num کوچکتر یا مساوی ۱۰ است آن را چاپ کرده و یک عدد به آن اضافه می کند. دستور $num++ را می توان به صورت $num=$num+1 هم نوشت. این کار تا زمانی که متغیر به مقدار ۱۱ برسد ادامه پیدا می کند و سپس حلقه پایان می یابد.
در مثال زیر می بینید که چگونه یک حلقه با دستورات شرطی ترکیب می شود:
<?php $num = 1; while ( $num <=10 ) { if ($num < 5) { print $num . " is less than 5 <br>"; } else { print $num . " is not less than 5 <br>"; } $num++; } ?>
۲ – For
حلقه for بسیار شبیه به while عمل می کند یعنی اجرای مکرر تعدادی دستور که با غلط شدن یک گزاره پایان می یابد. ساختار for به صورت زیر می باشد:
for ( شروع; دستور شرطی; افزایش) { کد اجرایی; }
مثال قبل را به وسیله حلقه for بازنویسی می کنیم :
<?php for ($num=1; $num <= 10; $num++ ) { print $num . " "; } ?>
حلقه for نیز درست مانند while می تواند با دستورات شرطی ترکیب شود:
<?php for ($num=1; $num <= 10; $num++ ) { if ($num < 5) { print $num . " is less than 5 <br>"; } else { print $num . " is not less than 5 <br>"; } } ?>
۳- Foreach
برای درک حلقه foreach باید با نحوه استفاده از آرایه ها آشنایی داشته باشید ( جلسه ششم ). همان طور که گفته شد آرایه ها حاوی یک گروه از داده ها می باشند. هنگامی که یک آرایه در حلقه استفاده می شود، حلقه به جای استفاده از یک شمارنده، از مقادیر آرایه استفاده می کند. به عنوان مثال اگر آرایه ۵ خانه داشته باشد حلقه ۵ بار اجرا می شود. ساختار foreach به صورت زیر می باشد:
FOREACH ( آرایه به عنوان شمارنده ) { کد اجرایی; }
به مثال زیر توجه کنید:
<?php $a = array(1, 2, 3, 4, 5); foreach ($a as $b) { print $b . " "; } ?>
اگر به درستی عملکرد foreach را درک کنید می توانید از آن در جای درست خود استفاده کنید. فرض کنید یک آرایه سنین ۵ عضو یک خانواده را در بردارد. هر کدام از اعضای خانواده می توانند از بوفه رستوران استفاده کنند اما قیمت بوفه با توجه به سن آنها متفاوت است. قوانین بوفه به این صورت است:
زیر ۵ سال : رایگان
۵ تا ۱۲ سال : ۴۰۰۰ تومان
بالای ۱۲ سال: ۶۰۰۰ تومان
با استفاده از حلقه foreach می توان محاسبه کرد که چه مبلغی برای بوفه باید پرداخته شود:
<?php $t = 0; $age = array(33, 35, 13, 8, 4); foreach ($age as $a) { if ($a < 5) {$p = 0;} else { if ($a <12) {$p = 4000;} else {$p = 6000;} } $t = $t + $p; print "تومان" . $p . "<br>"; } print " تومان" . $t ."مجموعا : "; ?>
مارا در توئیتر دنبال کنید
خبرمایه ما در بیاید