میرزا جواد
یکی از پرکاربردترین دستورات در 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]
ابتدا یک فرم که ساختیم که معدل را دریافت می کند و سپس در شرط اول بررسی کردیم اگر معدل بیشتر از ۱۶ بود عالی چاپ شود و در شرط دوم اگر برابر ۱۴ بود متوسط و اگر غیر از این بود ضعیف چاپ می شود.
تنها یک نکته در کد بالا شاید برای شما جدید باشد و آن هم دستور ()isset می باشد که بررسی می کند که آیا متغیر مورد نظر ست شده یا نه و به زبان ساده تر آیا بر روی دکمه submit کلیک شده است که متغیر مورد نظر مقدار بگیرد ؟
دستور شرطی SWITCH
[php]
switch( عبارتی که باید بررسی شود )
{
case عبارت ثابت اول:
اجرا در صورت تطابق یافتن عبارت اول
break;
case عبارت ثابت دوم:
اجرا در صورت تطابق یافتن عبارت دوم
break;
default:
اجرا در صورت تطابق نیافتن هیچ کدام از عبارت های ثابت
}
[/php]
فرض کنید در جایی ما یک رشته را با ۱۰۰ رشته دیگر مقایسه کنیم در اینجا استفاده از شرط های زیاد باعث پیچیدگی کد می شود و باید به فکر راه حلی بهتری باشیم که 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 این آموزش (کلیک کنید)
