دستور if

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

if (condition)  
   code to execute;

قبل از اجرای دستور if ابتدا شرط بررسی می شود. اگر شرط برقرار باشد یعنی درست باشد سپس کد اجرا می شود. شرط یک عبارت مقایسه ای است. می توان از عملگرهای مقایسه ای برای تست درست یا اشتباه بودن شرط استفاده کرد. اجازه بدهید که نگاهی به نحوه استفاده از دستور if در داخل برنامه بیندازیم. برنامه زیر پیغام Hello World را اگر مقدار number کمتر از 10 و Goodbye World را اگر مقدار number از 10 بزرگتر باشد در صفحه نمایش می دهد :

   1: <?php
   2: 
   3:     $number = 5;
   4:     if ($number < 10)
   5:        echo ("Hello World.");
   6: 
   7:     echo '<br/>';
   8: 
   9:     $number = 15;
  10:     if ($number > 10)
  11:        echo("Goodbye World.");
  12: 
  13: ?>
Hello World.
Goodbye World.

در خط 3 یک متغیر با نام number تعریف و مقدار 5 به آن اختصاص داده شده است. وقتی به اولین دستور if در خط 4 می رسیم برنامه تشخیص می دهد که مقدار number از 10 کمتر است یعنی 5 کوچکتر از 10 است. منطقی است که نتیجه مقایسه درست می باشد بنابراین دستور if دستور را اجرا می کند(خط 5) و پیغام Hello World چاپ می شود. حال مقدار number را به 15 تغییر می دهیم (خط 9).وقتی به دومین دستور if در خط 10 می رسیم برنامه مقدار number را با 10 مقایسه می کند و چون مقدار number یعنی 15 از 10 بزرگتر است برنامه پیغام Goodbye World را چاپ می کند(خط 11). به این نکته توجه کنید که دستور if را می توان در یک خط نوشت :

if ($number > 10) echo("Goodbye World.");

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

if (condition)
{
    statement1;
    statement2;
    .
    .
    .
    statementN;
}

این هم یک مثال ساده :

<?php

    $number = 15;
    if ($number > 10)
    {
        echo ("x is greater than 10.").'<br/>';
        echo ("This is still part of the if statement.");
    }

?>
x is greater than 10.
This is still part of the if statement.

در مثال بالا اگر مقدار x از 10 بزرگتر باشد دو پیغام چاپ می شود. حال اگر به عنوان مثال آکولاد را حذف کنیم و مقدار x از ۱۰ بزرگتر نباشد مانند کد زیر :

<?php

    $number = 5;
    if ($number > 10)
       echo ("x is greater than 10.").'<br/>';
       echo ("This is still part of the if statement.");

?>

کد بالا در صورتی بهتر خوانده می شود که بین دستورات فاصله بگذاریم.

   1: <?php
   2: 
   3:     $number = 5;
   4:     if ($number > 10)
   5:        echo ("x is greater than 10.").'<br/>';
   6: 
   7: 
   8:        echo ("This is still part of the if statement.");
   9: 
  10: ?>
This is still part of the if statement.

می بینِد که دستور دوم(خط 8) در مثال بالا جز دستور if نیست.اینجاست که چون ما فرض را بر این گذاشته ایم که مقدار x از 10 کوچکتر است پس خطThis is still part of the if statement. (Really?) چاپ می شود. در نتیجه اهمیت وجود آکولاد مشخص می شود.به عنوان تمرین همیشه حتی اگر فقط یک دستور در بدنه if داشتید برای آن یک آکولاد بگذارید. فراموش نکنید که از قلم انداختن یک آکولاد باعث به وجود آمدن خطا شده و یافتن آن را سخت می کند. یکی از خطاهای معمول کسانی که برنامه نویسی را تازه شروع کرده اند قرار دادن سیمیکولن در سمت راست پرانتز if است. به عنوان مثال :

<?php
     if ($number > 10);
     echo ("x is greater than 10.").'<br/>';
?>

به یاد داشته باشید که if یک مقایسه را انجام می دهد و دستور اجرایی نیست.بنابراین برنامه شما با یک خطای منطقی مواجه می شود.