php

جلسه ۱۵: عبارات شرطی در php

<?php
$a = 50; //change the value of "a" so its less than b in order to execute the else statement
$b = 15;
if ($a > $b)
{
    //this code is executed only if $a is greater than $b
    echo "a is greater than b";

}
else
{
    //this code is executed if the preceding "if" condition evaluated to false
    echo "a is less than b";
}
?>
شکل زیر نحوه کار این قطعه کد را در یک flow chart نمایش می دهد.  

توضیحات

خط چهارم:
  • توجه کنید که در این خط فاصله ای بین کلمه کلیدی if و پرانتز باز وجود دارد.
  • در داخل پرانتز، شرط دستور قرار گرفته است که در این مثال یک مقایسه با استفاده از عملگر بزرگتر بین دو متغیر صورت گرفته است.
  • بهتر است که از یک نوع آرگومان استفاده کنیم. ( مثلا یک عدد اعشاری را با یک کاراکتر مقایسه نکنیم.)
  • همچنین به } نیز توجه کنید. این شکل نمایشگر بلوکی از کدهاست. بدون این، شرط موردنظر تنها روی خط بعدی کد تاثیر گذار خواهد بود.
  • برای کد نویسی بهتر و تمرین، بهتر است که همواره از {} استفاده کنیم.
خط ششم:
  • این توضیح نمایشگر متن اصلی عبارت شرطی است.
خط هشتم:
  • استفاده از } برای بستن این بخش اجباری است که با { که در خط چهارم باز شده بود تطابق پیدا کرده و نشان دهنده پایان بدنه دستور if است.
  • این خط اختیاری است. اگر نوعی رفتار پیش فرض (Default) وجود داشته باشد، باید در این بخش قرار بگیرد.
  • شرط else به تنهایی مفهومی ندارد و تنها در ادامه شرط if استفاده می شود.
خط دهم:
  • این بخش، بدنه شرط else است.
خط یازدهم:
  • در این بخش نیز بستن } اجباری است. این علامت با علامت { که در خط ۸ باز شده بود منطبق شده و بدنه شرط else را مشخص می کند.
بلوک بدنه else می تواند یک دستور if دیگر باشد. این حالت را با نام شرط های تو در تو (nested conditionals) می شناسند. چرا که شرط ها واقعا تو در تو قرار گرفته اند.

if های تو در تو (Nested-if)

در اینجا بلوکی از if-else درون دیگری قرار گرفته است. باید دقت داشته باشید که ابتدا بخش if درونی را بسته و سپس بخش if بیرونی را ببندید.
<?php
if(condition1){
  //execution statement(s) 
  if(condition2){
    //execution statement(s)
  }//end of inner if
  else{
    //execution statement(s)
 }//end  of inner else
}//end ofouter if
else{
  //execution statement(s) 
}//end ofouter else
?>

توضیحات

در بلوک کد If بالا:
  • اگر شرط اولیه (condition 1) درست باشد:
    • پس از اجرای دستورات، کد به بررسی شرط دوم (condition 2) می پردازد.
    • براساس نتیجه if  و else تو در تو، یکی از آنها را اجرا می کند.
  • اگر شرط اولیه (condition 1) غلط باشد:
    • کد به خط ۱۳ پریده و دستور else را اجرا می کند.
حال بیایید تا در بخش بعدی نگاهی به دستورات if-elseif-else بیاندازیم.

دستور if-else

در این بخش به توضیحات دستور if-else و nested-if ها می پردازیم. سرفصل مباحث این جلسه به شرح زیر می باشد:
  • انشعابات (Branches) در PHP
  • if-else
    • توضیحات
  • if های تو در تو (Nested-ifs)
    • توضیحات

انشعابات (Branches) در PHP

اغلب در برنامه نویسی نیاز به تصمیم گیری و با شاخه هایی در کد داریم که مشخص می کنند کد موردنظر در شرایط مختلف ( دریافت ورودی های مختلف یا شرایط متفاوت ) باید به چه صورت عمل کند. برخی مواقع در زبان PHP، یکی از ساده ترین و در عین حال پر کاربردترین راه ایجاد شاخه در برنامه، استفاده از دستور if-else است.

if-else

بیایید بحث را با مثالی شروع کنیم. در این مثال می خواهیم ببینیم که مقدار متغیر a بزرگتر یا کوچکتر از مقدار متغیر b است:
<?php
$a = 50; //change the value of "a" so its less than b in order to execute the else statement
$b = 15;
if ($a > $b)
{
    //this code is executed only if $a is greater than $b
    echo "a is greater than b";

}
else
{
    //this code is executed if the preceding "if" condition evaluated to false
    echo "a is less than b";
}
?>
شکل زیر نحوه کار این قطعه کد را در یک flow chart نمایش می دهد.  

توضیحات

خط چهارم:
  • توجه کنید که در این خط فاصله ای بین کلمه کلیدی if و پرانتز باز وجود دارد.
  • در داخل پرانتز، شرط دستور قرار گرفته است که در این مثال یک مقایسه با استفاده از عملگر بزرگتر بین دو متغیر صورت گرفته است.
  • بهتر است که از یک نوع آرگومان استفاده کنیم. ( مثلا یک عدد اعشاری را با یک کاراکتر مقایسه نکنیم.)
  • همچنین به } نیز توجه کنید. این شکل نمایشگر بلوکی از کدهاست. بدون این، شرط موردنظر تنها روی خط بعدی کد تاثیر گذار خواهد بود.
  • برای کد نویسی بهتر و تمرین، بهتر است که همواره از {} استفاده کنیم.
خط ششم:
  • این توضیح نمایشگر متن اصلی عبارت شرطی است.
خط هشتم:
  • استفاده از } برای بستن این بخش اجباری است که با { که در خط چهارم باز شده بود تطابق پیدا کرده و نشان دهنده پایان بدنه دستور if است.
  • این خط اختیاری است. اگر نوعی رفتار پیش فرض (Default) وجود داشته باشد، باید در این بخش قرار بگیرد.
  • شرط else به تنهایی مفهومی ندارد و تنها در ادامه شرط if استفاده می شود.
خط دهم:
  • این بخش، بدنه شرط else است.
خط یازدهم:
  • در این بخش نیز بستن } اجباری است. این علامت با علامت { که در خط ۸ باز شده بود منطبق شده و بدنه شرط else را مشخص می کند.
بلوک بدنه else می تواند یک دستور if دیگر باشد. این حالت را با نام شرط های تو در تو (nested conditionals) می شناسند. چرا که شرط ها واقعا تو در تو قرار گرفته اند.

if های تو در تو (Nested-if)

در اینجا بلوکی از if-else درون دیگری قرار گرفته است. باید دقت داشته باشید که ابتدا بخش if درونی را بسته و سپس بخش if بیرونی را ببندید.
<?php
if(condition1){
  //execution statement(s) 
  if(condition2){
    //execution statement(s)
  }//end of inner if
  else{
    //execution statement(s)
 }//end  of inner else
}//end ofouter if
else{
  //execution statement(s) 
}//end ofouter else
?>

توضیحات

در بلوک کد If بالا:
  • اگر شرط اولیه (condition 1) درست باشد:
    • پس از اجرای دستورات، کد به بررسی شرط دوم (condition 2) می پردازد.
    • براساس نتیجه if  و else تو در تو، یکی از آنها را اجرا می کند.
  • اگر شرط اولیه (condition 1) غلط باشد:
    • کد به خط ۱۳ پریده و دستور else را اجرا می کند.
حال بیایید تا در بخش بعدی نگاهی به دستورات if-elseif-else بیاندازیم.

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا