یکی از پرکاربردترین دستورات در php شرط ها هستند که می توان قسمت های مختلف یک برنامه را توسط آن ها کنترل کرد.

دستور شرطی IF

[php]
if ( شرط )
{
اجرا در صوررت تحقق شرط
}
[/php]

شکل کلی این دستور به صورت بالا می باشد که در صورت تحقق یافتن شرط قسمت میان {} اجرا می شود.

[php]
$a = 4;
$b = 2;
if ( $a > $b )
{
echo ‘a bigger than b’;
}
[/php]

ابتدا دو متغیر عددی تعریف کرده و به آنها مقدار دادیم سپس با دستور if به مقایسه آنها پرداختیم و مشخص کردیم در صورت تحقق شرط بخش مورد نظر چاپ شود یعنی خروجی ما a bigger than b خواهد بود.

دستور شرطی IF…ELSE

[php]
if( شرط )
{
اجرا در صورت تحقق شرط
}else{
اجرا در صورت تحقق نیافتن شرط
}
[/php]

مشابه قسمت قبل می باشد فقط قسمت بعد از else در صورت تحقق نیافتن شرط اجرا می گردد.

[php]
if( شرط )
$a = 10;
$b = 20;
if( $a > $b )
{
echo ‘a bigger than b’;
}else{
‘a smaller than b’;
}
[/php]

دستور شرطی IF…ELSE IF…ELSE

[php]
if( شرط )
{
اجرا در صورت تحقق شرط اول
}elseif( شرط دوم ){
اجرا در صورت تحقق یافتن شرط دوم
}else{
اجرا در صورت تحقق نیافتن هیچکدام از شرط ها
}
[/php]

فرض کنید میخواهیم چند شرط را بررسی کنیم و نتیجه را به کاربر اعلام کنیم در اینجا باید از روش بالا استفاده کنیم.

[php]
<form method=’post’ action=”>
Your Average : <input type=’text’ name=’average’>
<input type=’submit’ name=’submit’ value=’send’>
</form>
<?php

if(isset($_POST[‘submit’])){

$average = $_POST[‘average’];

if( $average > 16 )
{
echo ‘عالی’;
}elseif( $average == 14 )
{
echo ‘متوسط’;
}else{
echo ‘ضعیف’;
}
}
?>
[/php]

ابتدا یک فرم که ساختیم که معدل را دریافت می کند و سپس در شرط اول بررسی کردیم اگر معدل بیشتر از 16 بود عالی چاپ شود و در شرط دوم اگر برابر 14 بود متوسط و اگر غیر از این بود ضعیف چاپ می شود.

تنها یک نکته در کد بالا شاید برای شما جدید باشد و آن هم دستور ()isset می باشد که بررسی می کند که آیا متغیر مورد نظر ست شده یا نه و به زبان ساده تر آیا بر روی دکمه submit کلیک شده است که متغیر مورد نظر مقدار بگیرد ؟

دستور شرطی SWITCH

[php]
switch( عبارتی که باید بررسی شود )
{
case عبارت ثابت اول:
اجرا در صورت تطابق یافتن عبارت اول
break;
case عبارت ثابت دوم:
اجرا در صورت تطابق یافتن عبارت دوم
break;
default:
اجرا در صورت تطابق نیافتن هیچ کدام از عبارت های ثابت
}
[/php]

فرض کنید در جایی ما یک رشته را با 100 رشته دیگر مقایسه کنیم در اینجا استفاده از شرط های زیاد باعث پیچیدگی کد می شود و باید به فکر راه حلی بهتری باشیم که switch می تواند مشکل ما را حل کند.

در این روش یک عبارتی که باید بررسی شود در داخل () گرفته و سپس با  case اول مقایسه می شود و در صورتی که نتیجه صحیح باشد با break دستور پایان می یابد و در صورت صحیح نبود سراغ case های بعدی می رود و در آخر اگر با هیچ کدام صحیح نشود قسمت بعد از default اجرا می شود.

[php]
$month = 10;
switch( $month )
{
case 1:
echo ‘فروردین’;
break;
case 2:
echo ‘اردیبهشت’;
break;
case 3:
echo ‘خرداد’;
break;
case 4:
echo ‘تیر’;
break;
case 5:
echo ‘مرداد’;
break;
case 6:
echo ‘شهریور’;
break;
case 7:
echo ‘مهر’;
break;
case 8:
echo ‘آبان’;
break;
case 9:
echo ‘آذر’;
break;
case 10:
echo ‘دی’;
break;
case 11:
echo ‘بهمن’;
break;
case 12:
echo ‘اسفند’;
break;
default:
echo ‘این ماه در تاریخ هجری شمسی وجود ندارد.’;
}
[/php]

در کد بالا با توجه به مقدار متغیر month$ ماه مورد نظر شناسایی می شود که با این روش می توان در سایت خود ماه تولد را به عدد دریافت و به فارسی نمایش داد.

امیدوارم این بخش مورد توجه شما قرار گرفته باشد.بنده از این اینکه دیر آپ میکنم عذر میخواهم زیرا کمی درگیر کارم و وقت کافی برای نوشتن بخش های مختلف را در زمان کمتر ندارم.

فایل pdf ضمیمه شد.

دانلود نسخه PDF این آموزش (کلیک کنید)