دستورات شرطی جزء عناصر اصلی در برنامه نویسی هستند و در برنامه ها کاربردهای زیادی دارند. دستورات شرطی بدین صورت کار می کنند که درصورت برقراری شرط، یکسری دستورات دیگر اجرا می گردند. شما می توانید در کدهای برنامه، دستورات شرطی را براساس تصمیم گیری های خود به کار ببرید.
در php دو نوع دستور شرطی داریم if و switch . در این آموزش در مورد دستور شرطی if صحبت خواهیم کرد.
دستور شرطی if به سه شکل قابل اجرا می باشد:
1) If (شرط)
2) If(شرط)else
3) If(شرط اول)elseif(شرط دوم)else
دستور شرطی if
نحوه استفاده از دستور شرطی if بدین صورت است که درصورتی که فقط یک دستور برای اجرا شدن داشته باشیم، از آن استفاده می کنیم. هنگامی که از این دستور استفاده می کنیم php بررسی می کند آیا شرط درست هست یا خیر و یک مقدار boolean بر می گرداند. بطوریکه اگر شرط درست باشد True بر می گرداند و دستور اجرا می شود و اگر شرط درست نباشد مقدار False بر میگرداند و از دستور شرطی خارج می شود و سراغ ادامه کدها می رود.
Syntax دستور بدین شکل است که ابتدا if و بعد شرط را می نویسیم و بعد دستوراتی که می خواهیم اجرا شوند را داخل آکولاد باز} و بسته{ قرار می دهیم :
if (شرط) {
اگر شرط درست باشد این دستورات اجرا می شوند
}
مثال زیر روز هفته را می گیرد و در متغیر $t می ریزد، و با کاراکتر A مقایسه می کند . هم اکنون که این کد را می نویسم دوشنبه (Mon) هست و چون کد اسکی کاراکتر M از کاراکتر A بزرگتر است بنابرین شرط True می شود و پیام موردنظر نمایش داده می شود.
<?php
$t = date("D");
if ($t > "A") {
echo " WE ARE DOING!";
}
?>
خروجی :
WE ARE DOING!
دستور if…else
همانطور که دیدید دستور شرطی if یک مقدار boolean که False یا True هست را بر می گرداند. در دستور If برای حالتی که false برگردانده می شد، دستوری نداشتیم تا اجرا شود ولی در دستور if…else هم برای حالت True دستورالعمل داریم و هم برای حالت False دستورالعمل داریم. در کدنویسی و آموزش php و آموزش ساخت سایت این موارد بسیار حائز اهمیت هستند.
نحوه Syntax این دستور هم مانند دستور if می باشد با این تفاوت که بعد از آکولاد باز و بسته Else می آید و دوباره آکولاد باز و بسته ای قرار می گیرد، که در آن دستورالعمل های مربوط به else جایگذاری می شود.
if (شرط) {
اگر شرط درست باشد کدهای این قسمت اجرا می شود
} else {
اگر شرط نادرست باشد کدهای این قسمت اجرا می شود
}
مثال جالب زیر را ببینیم . در این مثال ساعت سیستم تان را می گیرد. اگر ساعت سیستم تان از ساعت 20 یعنی 8 شب گذشته باشد پیغام you are programmer برای شما نمایش داده می شود و اگر ساعت سیستم تان از ساعت 20 شب کمتر باشد، برایتان پیغام Have a good night نمایش داده می شود.
<?php
$t = date("H");
if ($t < "20") {
echo "you are programmer!";
} else {
echo "Have a good night!";
}
?>
خروجی : چون هم اکنون ساعت سیستم من 21 می باشد دستور you are programmer برای من نمایش داده شد. شما هم این کد را تست کنید و خروجی کد تان را ببینید.
you are programmer
دستور if…elseif…else
این دستور بدین صورت کار می کند که درصورت برقرار نبودن شرط if بتوانیم شرط های دیگر را نیز قرار دهیم.
<?php
$t = date("H");
if ($t < "10") {
echo "Have a good morning!";
} elseif ($t < "6") {
echo "good morning!";
} else {
echo " good night!";
}
?>
خروجی : هم اکنون ساعت سیستم من 21 می باشد، بنابراین متغیر $t برابر با 21 می شود. شرط if بررسی می گردد و چون 21 از 10 کوچکتر نیست، جواب شرط false می شود و esleif اجرا می گردد اینبار چک می شود 21 از 6 کوچکتر هست؟ خیر، پس جواب شرط برابر با false می شود و می رود سراغ else آخر و چون دیگر شرطی وجود ندارد good night اجرا می گردد.