دستورات شرطی یا به تفصیل Conditional Statements از سری دستورات بسیار مهم و کاربردی در زبان PHP است. این شروط نه فقط در آموزش پی اچ پی (PHP) بلکه در اکثریت Syntaxها و کدهای زبانهای برنامهنویسی مختلف، قابل اجرا است. حلقههای شرطی حاوی این پیام هستند که درخواست مورد نظر طبق شروط گفته شده یا انجام میشوند و یا از دور خارج میگردند. اصل برقراری این دستورات بر پایه صحیح و غلط بودن آنها در نظر گرفته شده و به برنامهنویس امکان پیادهسازی نقطه نظرات کاربر را میدهد.
حلقههای شرطی آموزش داده شده در زبان برنامهنویسی php
سایت کدیاد امکان آموزش پی اچ پی رایگان را ایجاد کرده و این سری دورههای عملی و پروژهمحور را به شکلی فوقالعاده و بدون دریافت هیچگونه هزینهای، در اختیار علاقهمندان به برنامهنویسی قرار داده است. اگر شما نیز خواستار یادگیری این زبان پرکاربرد، حرفهای و همهفن حریف هستید در ادامه جلسات آموزش پی اچ پی با ما همراه باشید.
دستورات شرطی در زبانهای برنامه نویسی PHP
زبان برنامهنویسی PHP شامل دستورات شرطی if، if…else، switch، elseif و حلقههای شرطی for، while،
do … while و foreach میشود. در جلسه قبل (جلسه نهم) به آموزش PHP و بحث پیرامون کاربرد دستور switch در PHP، تکرار حلقة While و توضیح حلقة for پرداخته و کاربرد و نمونة syntax آنها را بررسی کردیم. در این جلسه قصد داریم علاوه بر حل تمرین جلسه نهم، به آموزش پی اچ پی به زبان ساده پرداخته و آخرین موارد مانده از دستورالعملهای شرطی را بیان کنیم.
حل تمرینات ساختارهای شرطی جلسه نهم
پیش از آموزش پی اچ پی (PHP) و تشریح حلقههای do … while، foreach وfor به حل تمرینهای مربوط به مباحث while و for میپردازیم.
درتمرین اول جلسة نهم دوره آموزش برنامه نویسی PHP، سعی کردیم برنامهای را بنویسیم که با استفاده از حلقة while به چاپ مقادیر مربوط به متغیر x پرداخته و شروط مربوط به آن را رعایت کند. تمرین از برنامهنویس میخواهد تا با قرار دادن مقادیر پارامتر تعیین شده، کلیة اعداد از 100 تا صفر و بزرگتر از صفر را چاپ کند. بدین ترتیب با استفاده از کدهای مذکور و تعیین شرط حلقة while ($x >= 0)، امکان چاپ تمامی اعداد در بازة 100 الی 0 و بهصورت نزولی داده میشود. روند چاپ اعداد کاهش بوده و با دستور $x--; انجام میشود.
کدنویسی تمرین اول while
در تمرین دوم آموزش پی اچ پی (PHP)، اقدام به کدنویسی با کمک حلقة for کردیم. این تمرین از برنامهنویس خواسته است تا با تعیین متغیرهای شرطی مربوط به for syntax ، کلیة اعداد از 200 الی 0 را با رعایت شرط نزولی و کاهش 20 عددی مقادیر چاپ کند. کدها بدین شکل نوشته میشوند:
For($i=200 ; $i >=0 ; $i-=20) {
Echo “number is $i <br>” ;
}
و اعداد چاپی شامل عدد 200، 180، 160 تا .... 0 خواهد بود.
آموزش حلقه Do … While در php به زبان ساده
در آموزش پی اچ پی (PHP) میبینیم که حلقة do از آن جمله دستورات شرطی ناخلفی است که کار با آن آسان نبوده و نیازمند دقت و بررسی فوق العاده زیادی است؛ چرا که این دستور بدون توجه به شرط آورده شده در قسمت while، ابتدا اقدام به انجام عملیات کرده و سپس موارد داخل پرانتز را چک میکند. به قول معروف دستور do، فرزند ناخلفی است که توجهی به پیششرطهای انجام کار نداشته و از همان ابتدا عجولانه به سراغ دستورات اجرایی میرود.
در واقع طبق دستورات حلقه Do….while ، یک بار عبارت درخواستی در کد آورده شده، اجرا میگردد و سپس شروط موجود در دستور while بررسی میشود.
Syntax do … while:
Do {
code to be executed;
}
while (condition);
مثال:
$x=10;
do
{ echo “The number is $x “ <br> ;
$i++; }
while ( $i<=5 );
با نوشتن چنین دستوری در دوره آموزش برنامه نویسی PHP، میبینیم که الگوریتم بدون توجه به شرط while ( $i<=5 );، متغیر x با مقدار 10 را چاپ می کند! با این حال این دستور نیز مانند سایر قوانین و دستورات منطقی زبانهای برنامهنویسی دارای کارکردی مفید بوده که در وقت لزوم توضیح داده خواهد شد.
نمایش نمونه مثال حلقه Do … While در php به زبان ساده
آرایهها در برنامهنویسی php
آموزش پی اچ پی (PHP) در سایت کدیاد با جزئیات کاملی انجام شده و جزء به جزء مطالب با نکتهسنجی تمام بیان میشود. همانطور که مشاهده کردیم با کمک متغیرهایی که با نام اندیس شناخته میشوند، خانههای هر آرایه پر شده و میتوان از آنها در دستورات و شروط حلقهها بهره برد. حلقههای دستوری متعددی در دوره آموزش برنامه نویسی PHPیاد داده میشوند. در این جلسه ما به توضیح لوپ foreach پرداخته و با مفهوم دقیق آن آشنا میشویم. افزون بر آن با ذکر مثالهایی کاربردی به نحوة کارکرد این حلقه پرداخته و جزئیات آن را بررسی میکنیم.
تعریف حلقة foreach در زبانPHP
در زبان برنامهنویسی php نیز مانند برخی از زبانهای اسکریپتنویسی، امکان استفاده از حلقه foreach وجود دارد. برای استفاده از این دستور باید از کلیه المانهای آرایه مورد نظر استفاده کرده و در جزئیات سینتکس آن قرار داد.
ساختار دستور foreach بدین شکل است:
foreach ($array as $key => $value)
{ کلیه دادههای مورد نظر در قسمت $value قرار خواهد گرفت. }
همانطور که در فیلم آموزش پی اچ پی (PHP)می بینید، حلقة foreach آرایهای همچون $array را بهعنوان پارامتر ورودی میگیرد؛ سپس فیلدی کلیدی تحت عنوان as که به صورت پیشفرض در این زبان تعریف شده را آورده و نامهایی دلخواه برای اندیسها و مقادیرشان در نظر میگیریم. در این مثال از متغیر $key برای ذخیرهسازی کلید یا اندیس و از متغیر $value برای ذخیرهسازی مقدار، استفاده شده است. ذکر این نکته در مبحث آموزش پی اچ پی ضروری است که در ارتباط با حلقه foreach که روی یک آرایه ایجاد میشود، صرفاً قادر به چاپ مقادیر خواهید بود. به بیانی دیگر:
foreach ($array as $value) { // Do something with $value }
میبینیم که حتی متغیری که قرار است اندیسها را در خود ذخیره کند، قابل حذف بوده و صرفاً از این پس مقادیر خانههای آرایه را میتوان پر کرد.
نمایش نمونه مثال حلقه foreach در آموزش زبان برنامهنویسی php
نکات ضروری در تعریف فرمان foreach
علاوه بر آن در آموزش پی اچ پی (PHP)، توجه به این نکته مهم است که اگر لازم به چینش اندیسها و مقادیر در کنار یکدیگر و در آرایة مد نظر بود، مابین متغیری که قرار است اندیس را در خود ذخیره کند با متغیری که قرار است مقدار آن اندیس را در خود ذخیره نماید، از علامت => استفاده شود. دستور foreach اغلب در برنامهنویسی سمت دیتابیس کاربرد دارد. این فرمان به آرایش آرایهها در این قسمت پرداخته و بسیار کاربردی و راهانداز است.
از سوی دیگر ذکر اسامی اندیسها و متغیرها با استاندارد متعارف و تعیین شده کمک بزرگی به مرتبسازی و خوانایی کدها میکند. به همین علت همواره در دورههای آموزش PHPتوصیه میشود که از نامهای با معنا برای ذخیرهسازی مقادیر استفاده شود. بهعنوان نمونه اگر فرض کنیم که آرایهای با نام $users وجود دارد که شامل دادههای مرتبط با کاربران سایت است، بهتر است از متغیری با میکس همین نام استفاده کرده و برای ذخیرهسازی کلید و متغیر $userInfo را استفاده کنیم.
نمونه مثال برنامهنویسی برای بیان حلقة foreach
برای روشنتر شدن کاربرد عملی حلقهها، به مثال داخل فیلم پیرامون آموزش پی اچ پی (PHP)و حلقههای شرطی توجه میکنیم. در این قسمت آرایهای به صورت زیر را مبنا قرار دادهایم؛ سپس با استفاده از یک دستور حلقة foreach اقدام به چاپ تکتک نام اعضا به همراه سن آنها میکنیم:
<?php
$age =array( “mmd”=>”28”, “ali”=>”24”, “hossein”=>”20” );
foreach ($age as $key => $value) {
echo “$key => $value <br>” ;
}
خروجی برنامه چاپ شده و مقادیر نمایش داده شدة آن
خروجی این اسکریپت برابر است با:
mmd => 28
mmd => 24
mmd => 20
در تفسیر برنامه نویسی گفته شده با کمک آموزش پی اچ پی به زبان ساده، باید بگوییم که آرایهای ساختهایم تحت عنوان $age که حاوی نام تعدادی از اسامی افراد به همراه سن آنهاست؛ سپس با استفاده از یک حلقه foreach قصد داریم تا تکتک اعضای این آرایه را به همراه سن مرتبط با آنان و با استفاده از دستور echo چاپ کنیم. برای این منظور، متغیرهای $key و $value را نوشته و در انتها از یک دستور<br> برای تنظیم خطوط جوابدهی استفاده کرده تا هر عضو در خطی مجزا و به همراه مقدار دادة مربوط به خودش چاپ شود.
در واقع foreach این وظیفه را دارا است تا آنقدر در آرایه$age بچرخد و اعضای آن را چاپ کند تا اینکه دیگر هیچ آیتمی داخل آرایه باقی نمانده باشد. همانطور که در فیلم نیز گفته میشود، میتوان به سادگی اندیسها را از خروجی حذف کرده و صرفاً مقادیر را مد نظر قرار دهیم:
<?php
$age = ( “mmd”, “ali”, “hossein”);
foreach ($age as $key) {
echo $key '<br>';
}
به عنوان خروجی داریم:
mmd
ali
hossein
استفاده از دستورات شرطی if در داخل حلقة for
گاهیاوقات بسته به الگوریتمهای مورد نیاز در سایت، اپلیکیشن یا نرمافزار اختصاصی خود نیاز به استفاده از شروط خاصی وجود خواهد داشت. خوشبختانه استفاده از دستورات شرطی مناسب زبان برنامهنویسی php و بهکارگیری آن در کنار حلقههای لوپ همچون for امکانپذیر بوده و بر کارایی برنامه میافزاید.
نمونه دستورات شرطی if در داخل حلقة for
بهعنوان مثال داریم:
for ($i=0 ; $i <10 ; $i++) {
if ($i==4) {
Break;
}
echo “$i” <br> ;
}
و خروجی برنامه نوشته شده برابر است با:
1
2
3
4
در حقیقت کاری که انجام دادهایم این است که دستور دادیم این لوپ ادامه یابد و به محض اینکه به مقداری برابر با$i==4 رسید، شکسته شده و به چاپ مقادیر تا عدد 4 بسنده کند. برای همین صرفاً اعداد 0,1,2,3 چاپ میشود. چنانچه دستور if داخل حلقه لوپ for قرار نمیگرفت اعداد از 0 تا 9 به ترتیب چاپ میشدند.
نمونه مثال کاربردی برای ترکیب دستورات break و continue
در کدنویسی الگوریتمهای داده شده بالأخص در کلاسهای آموزش پی اچ پی (PHP) ، بسیار پیش میآید که با وجود صحیح بودن شرط، نیاز به خروج از چرخة تکرار بوده و یا ترجیح به ادامة آن خواهد بود. در اینگونه مواقع از دو دستور کاربردی break و continue که در تقابل معنایی با یکدیگر هستند، استفاده میشود. با کمک دستور break به توقف کارکرد حلقه پرداخته و با درج دستور continue عملیات مجدداً ادامه پیدا خواهد کرد و از حالت توقف و پرش از دستور، خارج میشود.
علاوه بر آن با کمک دستور continue امکان گذر از آن یک عدد در حلقه وجود داشته و سپس به مرحلة بعدی وارد میشود. در کد مثال زده شده به خوبی کارکرد این دستورات در حلقة forرا میبینیم. این نتایج برای سایر لوپهای دستوری همچون while و do … while نیز یکسان است.
مقایسه عملکرد دو دستور break و continue
در مثال زده شده در فیلم دیدیم که عبارت متغیر i با رسیدن به عدد 4 ، break کرده و به کل از چرخه خارج شد. در خط بعد نیز اقدام به چاپ همان تعداد جواب مناسب شرط گذاشته شده در دستور if را نمود. اما در نقطة مقابل و استفاده از دستور ادامه یا continue الگوریتم صرفاْ از متغیر مساوی با 4 پریده و در ادامه به چاپ سایر اعداد بعد از سه، یعنی از 5 تا 10 میپردازد.
خروجی این برنامه در حالت break:
0
1
2
3
خروجی این برنامه در حالت continue:
0
1
2
3
5
6
7
8
9
تمرین جلسة بعد:
برای تمرین کدی بنویسید که به جای استفاده از حلقة for از حلقه while استفاده کرده و چرخهای از 0 تا 9 داشته باشد. افزون بر آن با رسیدن به عدد 4 حلقه منفجر شده و به کل ادامه ندهد!
جمعبندی
در جلسه دهم از دورههای آموزش پی اچ پی رایگان به بررسی سایر دستورالعملهای شرطی باقیمانده از جلسه قبلی پرداخته و دو نمونه تمرین داده شده را با کمک یکدیگر حل کردیم. این جلسات به صورتی کاملاً پروژه محور هدایت شده و مثالهایی که در آن زده میشود، برگرفته از خود سایت php است. همین موضوع به بالا رفتن کیفیت کار و اطمینان از صحت مطالب آموزشی کمک کرده و دانشجویان را به تمرین بیشتر ترغیب میکند.
php زبان برنامهنویسی کاربردی
php زبان برنامهنویسی بسیاری از سایتهای غول دنیاست. همچون فیسبوک، تویئتر، ورد پرس و ... . در ایران نیز سایت دیجیکالا با تمامی عظمت خود و با استفاده از کدنویسی php نوشته شده است. این زبان برنامهنویسی بسیار کاربردی بوده و از بازار شغلی و درآمدی خوبی نیز برخوردار است. یادمان باشد یادگیری و آموزش پی اچ پی (PHP) مانند سایر زبانهای کامپیوتری نیازمند تلاش مضاعف و تمرین مستمر است.
قسمت قبلی آموزش رایگان php :
قسمت بعدی آموزش رایگان php
یا جهت مشاهده ویدیوهای اموزشی آموزش رایگان پی اچ پی وارد این صفحه شوید.