دستورات شرطی برای انجام اقدامات مختلف بر اساس شرایط متفاوت استفاده میشوند. در PHP دستورات شرطی زیر را داریم:
- دستور
if: اگر یک شرط برقرار باشد، کدی را اجرا میکند. - دستور
if...else: اگر شرطی برقرار باشد کدی را اجرا میکند و اگر آن شرط برقرار نباشد، کد دیگری را اجرا میکند. - دستور
if...elseif...else: برای بیش از دو شرط، کدهای متفاوتی را اجرا میکند. - دستور
switch: یکی از چندین بلوک کد را برای اجرا انتخاب میکند.
دستور if در PHP
دستور if فقط در صورتی کدی را اجرا میکند که شرط مشخصشده true (درست) باشد.
Syntax
if (condition) {
// کد در صورتی اجرا میشود که شرط true باشد؛
}
Example
اگر عدد 5 بزرگتر از 3 باشد، پیام “Have a good day!” را چاپ کن:
if (5 > 3) {
echo "Have a good day!";
}
استفاده از متغیرها در دستور if بسیار رایج است:
$t = 14;
if ($t < 20) {
echo "Have a good day!";
}
عملگرهای مقایسهای در PHP
یک دستور if معمولاً شامل شرطهایی است که دو مقدار را با هم مقایسه میکنند. برای مقایسه دو مقدار باید از عملگر مقایسهای استفاده کنیم.
| عملگر | نام | نتیجه |
|---|---|---|
== | برابر | اگر مقادیر برابر باشند true برمیگرداند |
=== | یکسان | اگر مقادیر و نوع دادهها یکسان باشند true برمیگرداند |
!= | نابرابر | اگر مقادیر برابر نباشند true برمیگرداند |
<> | نابرابر | اگر مقادیر برابر نباشند true برمیگرداند |
!== | غیر یکسان | اگر مقادیر یا نوع دادهها یکسان نباشند true برمیگرداند |
> | بزرگتر از | اگر مقدار اول بزرگتر از دوم باشد true برمیگرداند |
< | کوچکتر از | اگر مقدار اول کوچکتر از دوم باشد true برمیگرداند |
>= | بزرگتر یا مساوی | اگر مقدار اول بزرگتر یا مساوی دوم باشد true برمیگرداند |
<= | کوچکتر یا مساوی | اگر مقدار اول کوچکتر یا مساوی دوم باشد true برمیگرداند |
عملگرهای منطقی در PHP
برای بررسی بیش از یک شرط، میتوانیم از عملگرهای منطقی مانند && استفاده کنیم:
Example
بررسی کن آیا $a بزرگتر از $b است و آیا $a کوچکتر از $c است:
$a = 200;
$b = 33;
$c = 500;
if ($a > $b && $a < $c ) {
echo "Both conditions are true";
}
لیست عملگرهای منطقی برای استفاده در دستورات if
| عملگر | نام | توضیحات |
|---|---|---|
and | And | اگر هر دو شرط درست باشند true است |
&& | And | اگر هر دو شرط درست باشند true است |
or | Or | اگر حداقل یکی از شرطها درست باشد true است |
|| | Or | اگر حداقل یکی از شرطها درست باشد true است |
xor | Xor | اگر فقط یکی از شرطها درست باشد (نه هر دو) true است |
! | Not | اگر شرط برقرار نباشد true است |
میتوانیم به هر تعداد که بخواهیم شرط را در یک دستور if مقایسه کنیم:
$a = 5;
if ($a == 2 || $a == 3 || $a == 4 || $a == 5 || $a == 6 || $a == 7) {
echo "$a is a number between 2 and 7";
}
دستور if...else در PHP
دستور if...else اگر شرط برقرار باشد کدی را اجرا میکند و اگر آن شرط برقرار نباشد، کد دیگری را اجرا میکند.
Syntax
if (condition) {
// کد در صورت true بودن شرط؛
} else {
// کد در صورت false بودن شرط؛
}
دستور if...elseif...else در PHP
این دستور برای بررسی بیش از دو شرط و اجرای کدهای متفاوت به کار میرود.
Syntax
if (condition) {
// کد اگر این شرط true باشد؛
} elseif (condition) {
// کد اگر شرط اول false و این شرط true باشد؛
} else {
// کد اگر همه شرطها false باشند؛
}
دستورات شرطی کوتاه (Short Hand)
if تکخطی
برای نوشتن کد کوتاهتر، میتوانید دستورات if را در یک خط بنویسید:
$a = 5;
if ($a < 10) $b = "Hello";
echo $b;
if...else تکخطی (عملگر سهتایی)
دستورات if...else را نیز میتوان در یک خط نوشت، اما سینتکس آن کمی متفاوت است:
$a = 13;
$b = $a < 10 ? "Hello" : "Good Bye";
echo $b;
شرطهای تو در تو (Nested If)
شما میتوانید دستورات if را داخل دستورات if دیگر قرار دهید؛ به این کار دستورات شرطی تو در تو میگویند.
$a = 13;
if ($a > 10) {
echo "Above 10";
if ($a > 20) {
echo " and also above 20";
} else {
echo " but not above 20";
}
}
