آموزش پی اچ پی php – بخش ۵

آموزش پی اچ پی php – بخش ۵
  • ۱۳۹۱/۱۱/۲۴
  • میرزا جواد
  • 11

یکی از پرکاربردترین دستورات در 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 این آموزش (کلیک کنید)

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 11 دیدگاه
  1. با سلام و تشکر
    شرط تو در تو چطور نوشته می شه. یعنی اگه شرط اول درست بود سراغ شرط دوم بره اگه شرط دوم هم درست بود کد اجرا بشه.

    مثلا اینطور:

    <?php
    if (شرط اول)
    {
    if (شرط دوم الف)
    {
    ;اگر شرط صحیح باشد ، این کد اجرا می شود
    }
    else
    {
    ;اگر شرط صحیح نباشد ، این کد استفاده می شود
    }

    if (شرط دوم ب)
    {
    ;اگر شرط صحیح باشد ، این کد اجرا می شود
    }
    else
    {
    ;اگر شرط صحیح نباشد ، این کد استفاده می شود
    }
    }
    ?>

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *