آموزش کامل دستور IF در PHP

آموزش کامل دستور IF در PHP
آموزشگاه آنلاین اکسیژن 2

باسلام

امیدوارم حال همگی عالی باشه و تا این لحظه از آموزش های ما لذت کافی را برده باشید.

در این آموزش قصد داریم تا شما را با مفهوم دستورات شرطی مخصوصا دستور IF آشنا کنیم و آموزش کاملی از این دستور در محیط PHP را به شما ارائه کنیم.

امیدوارم از این آموزش لذت کافی را ببرید.

تعریف اولیه در مورد دستور IF:

خب بهتر است قبل از اینکه شما را در بطن این دستور قرار بدیم یه سری توضیحات کلی در مورد این دستور بدهیم.

IF از دیدگاه خیلی از کدنویسان مهمترین دستوری است که می توان در کدنویسی ها استفاده کرد.شما فرض کنید فقط میخواهید اطلاعات نمایش دهید مطمئنا نیازی به این دستور نخواهید داشت اما جایی اهمیت این دستور نمایان خواهد شد که شما میخواهید یک رفت و برگشت اطلاعات داشته باشید با مخاطبان خوبتون! و اینجاست که دستور IF نمایان خواهد شد.

برای اینکه بهتر مفهوم نحوه عملکرد دستور IF را درک کنید نگاهی به فلوچارت زیر می اندازیم :

همانطور که در چارت می بینید ابتدا دستور IF یک مقایسه صورت می دهد یعنی معنای دقیق آن به این صورت است که دستور می گوید :

اگر حادثه رخ داد (یعنی صحیح بود) آنگاه عملیاتی که تعریف کرده ایم انجام گیرد …

وگرنه (یعنی اگر حادثه رخ نداد یا غلط بود) آنگاه هیچ کاری انجام ندهد.

حالا شاید برای شما این سوال پیش امده باشد که اگر چند شرط داشته باشیم چه کار باید کنیم!

پاسخ این است :

اگر چند شرط داشتیم معلوم می شود که باید چند IF استفاده کنیم و اگر این شروط به هم وابسته باشند باید از دستورات تو در تو استفاده کنیم یعنی یک IF در IF دیگر قرار بگیرد.به طور مثال شما به مساله ای برخورد می کنید که راه حل آن به شکل زیر است :

اگر حادثه ۱ رخ داد و اگر حادثه ۲ رخ داد آنگاه اتفاق ۱ صورت پذیرد.

خب این خط راه حل چند اتفاق دیگر را نیز در بر می گیرد …به چه صورت؟

اگر حادثه ۱ رخ داد و حادثه ۲ رخ نداد چه؟

اگر حادثه ۱ رخ نداد و حادثه ۲ رخ داد چه؟

اگر حادثه ۲ رخ نداد و حادثه ۲ رخ نداد چه؟

باید برای تمام این سوالات در کدهای خود جواب تعیین کنیم.گاهی اوقات فقط برای ما مهم است که حادثه ۱ و حادثه ۲ رخ دهند و اگر یکی یا هر دو رخ نداد هیچ اتفاقی نیفتد ….خب این کار بسیار آسانی است اما برای هر کدام از سوالات بالا پیش بینی ما چه میشود؟

برای درک بهتر راه کاری که به شما ارائه می کنیم به فلوچارت زیر نگاهی می اندازیم :

خب در چارت بالا می توانید مفاهیم بهتری از این وضعیت را درک کنید…یعنی در این چارت می فهمیم که اگر دستورات ۱ انجام شد ادامه فرآیند … یا اگر دستورات ۲ رخ داد ادامه فرآیند ۲ و ….

بهتر است برای درک بهتر موضوع به مثالی با کدها نگاهی بیاندازیم.

مثلا ما میخواهیم بگوییم اگر متغیر x برابر با مقدار ۱ شد دستور Echo فرآخوانی شود و مقدار درست را به ما نمایش دهد…(این مثال از دستور یگانه IF می باشد ) :

<?php
    if($x=1){
        echo "درست است.";
    }
?>

یعنی شما دستوراتی که باید چک شود را در یک پرانتز بعد از دستور IF قرار داده و با یک آکولاد (}{) عملیاتی که باید صورت پذیرد را به نمایش می گذارید.

اما شاید سوالی برایتان پیش بیاید که شاید بخواهیم اگر این عمل انجام نشد غلط است نمایش داده شود ،پس باید چیکار کنیم؟

خب اینجا است که وجهه ی جدیدی از دستور IF نمایان میشود ،شما می توانید از بخش تکمیلی دستور IF استفاده کنید که بخش ELSE می باشد .به مثال زیر را توجه کنید.

میخواهیم بگوییم اگر مقدار متغیر X بیشتر از ۵ شد عبارت متغیر بیشتر از ۵ است قرار بگیرد و در صورتی که غیر این شود نوشته گردد که متغیر بیشتر از ۵ نیست.

<?php
if($x>5){
echo "متغیر بیشتر از ۵ است.";
}
else{
echo" متغیر بیشتر از ۵ نیست."
}
?>

معنای این تکه کد این است که اگر متغیر x بیشتر از ۵ شد عبارت متغیر بیشتر از ۵ است نمایش داده شود و اگر نه عبارت متغیر بیشتر از ۵ نیست نمایش داده شود.

اما اگر بخواهیم بخش تساوی متغیر x با ۵ را هم باز جدا کنیم و مورد قیاس قرار دهیم باید از یکی دیگر از ویژگی ها دستور if استفاده کنیم که بحث elseif می باشد.تکه کد زیر را با هم بررسی کنیم :

<?php 
if($x>5){ 
echo "متغیر بیشتر از ۵ است.";
  }
  elseif($x<5){
  echo "متغیر کمتر از ۵ است.";
  }
  else{
  echo "متغیر برابر است با ۵";
  }
  ?>

در دستور if بالا ما تمامی ابعاد متغیر x را با مقدار ۵ مورد بررسی قرار می دهیم.یعنی سه حالتی که ممکن است پدید بیاید که عبارتند از کمتری ، بیشتری یا تساوی ،هر سه مورد را در مورد متغیر x مورد بررسی قرار می دهیم.

این شکل از دستور if شکل تکمیلی می باشد و شما اگر خواستید در این شرایط وضعیت های دیگر را هم بررسی کنید میتوانید با اضافه کردن تعداد بیشتری elseif قیاس های بیشتری را در این سلسله دستورات قید کنید که شکل کلی این دستور به صورت زیر می باشد :

<?php
    if(conditional1){
        //do something1
    }
elseif(conditional2){
// do something2
}
elseif(conditional3){
// do something3
}
.
.
.
elseif(conditionalN){
// do somethingN
}
else{
// do somthing if else
}
?>

اما بریم سراغ مسئله بعدی که دستور if به صورت چندگانه تعریف می شود .

به عنوان مثال میخواهیم سوالی مطرح کنی به صورت زیر :

اگر

متغیر x بزرگتر از ۵ بود و کمتر از ۷ بود اینگونه عمل شود ودر غیر اینصورت برای هر حالت یک ویژگی!

برای حل این مساله باید به شکل زیر کدنویسی کنیم :

<?php
if($x>5){
  if($x<7){
      echo "عدد بین ۵ تا ۷ می باشد";
    }
  else{
      echo "عدد بزرگتر از ۵ هست ولی کوچکتر از ۷ نیست";
    }
}
else{
  echo "عدد کوچکتر یا مساوی با ۵ می باشد.";
}
?>

امیدوارم تا اینجای کار مفاهیم خوبی از دستورات if در php را درک کرده باشید.

اما مساله دیگری که می شود در استفاده از دستور IF از آن استفاده کرد استفاده از عملگر ها (operators) در این دستور می باشد.بطور مثال شما می توانید تکه کدبالا را به شکل زیر هم در نظر بگیرید و مورد استفاده قرار دهید :

<؟php
if($x>5 && $x<7){
   echo "عدد بین ۵ تا ۷ می باشد";
}
else{
  echo "عدد بین ۵ تا ۷ نمی باشد.";
}
?>

اما تفاوتی که وجود دارد آنست که شما در این حالت نمی توانید مشخص کنید عدد تقریبا در چه بازه ای هست و فقط به شکل ثابت قابل تشخیص می باشد که یعنی یا در این بازه هست و یا در این بازه نیست.

اما اگر بخواهیم نتیجه بالا را از این روش بگیریم به شکل زیر می شود :

<؟php
if($x>5 && $x<7){
   echo "عدد بین ۵ تا ۷ می باشد";
}
elseif($x>5 && $x>7){
  echo "عدد بزرگتر از ۵ هست ولی کوچکتر از ۷ نیست";
}
elseif($x<5){
  echo "عدد کمتر از ۵ می باشد.";
}
else($x=5){
  echo "عدد مساوی ۵ می باشد.";
}
?>

پس نکته زیر فراموش نشود :

نکته:

می توان به بی نهایت صورت نتیجه ای مشخص در کدنویسی گرفت.پس فقط کافیست بهترین راه را خودتان انتخاب کنید.

اما بحث های بعدی ما:

حال وقت آن رسیده که تا مفاهیمی مانند switch را برای شما توضیح دهیم.برای درک بهتر لازم می دونم در یک جلسه جداگانه در مورد مبحث switch باهاتون صحبت کنیم و آموزش کاملی را خدمتتون ارائه بدیم.

امیدوارم لذت برده باشید .

جلسات بعدی آموزشی ما را پیگیری کنید حتما.

موفق و پیروز باشید.

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