مقدمه و دستور شرطی ساده if
۱. شرط چیست؟
در زندگی روزمره نیز شرط داریم. برای مثال: «اگر هوا بارانی باشد، چتر برمیدارم.»
در برنامهنویسی نیز شرط به معنی تصمیمگیری است. برنامه یک عبارت را بررسی میکند. اگر نتیجه درست باشد، دستورهای داخل شرط اجرا میشوند. اگر نتیجه نادرست باشد، آن دستورها اجرا نمیشوند.
در PHP نتیجه بررسی شرط یکی از دو حالت زیر است:
trueیعنی درستfalseیعنی نادرست
۲. عملگرهای مقایسه
برای ساختن شرط، از عملگرهای مقایسه استفاده میکنیم.
| عملگر | معنی | مثال |
|---|---|---|
== |
برابر بودن مقدارها | $a == 10 |
!= |
برابر نبودن | $a != 10 |
> |
بزرگتر بودن | $a > 10 |
< |
کوچکتر بودن | $a < 10 |
>= |
بزرگتر یا برابر | $a >= 10 |
<= |
کوچکتر یا برابر | $a <= 10 |
مطالعه تکمیلی
عملگر === برای مقایسه مقدار و نوع داده استفاده میشود. برای دانشآموزان کاردانش دانستن آن الزامی نیست. مثال:
<?php
$a = 10;
if ($a === 10) {
echo "برابر است";
}
?>
۳. ساختار دستور if
ساختار ساده دستور شرطی به شکل زیر است:
<?php
if (شرط) {
// دستورهایی که در صورت درست بودن شرط اجرا میشوند
}
?>
نکتهها:
- شرط داخل پرانتز نوشته میشود.
- دستورها داخل آکولاد
{ }قرار میگیرند. - پس از هر دستور، معمولاً نقطهویرگول
;گذاشته میشود. - کدها را با فاصلهگذاری مناسب بنویسید تا خوانایی بهتر شود.
۴. مثال ساده
<?php
$age = 18;
if ($age >= 18) {
echo "شما اجازه ورود دارید.";
}
?>
توضیح:
- متغیر
$ageمقدار ۱۸ دارد. - شرط
$age >= 18بررسی میشود. - چون ۱۸ بزرگتر یا برابر ۱۸ است، نتیجه شرط
trueمیشود. - بنابراین پیام «شما اجازه ورود دارید.» نمایش داده میشود.
۵. مثال با مقدار نادرست
<?php
$age = 15;
if ($age >= 18) {
echo "شما اجازه ورود دارید.";
}
?>
توضیح:
- شرط
$age >= 18بررسی میشود. - چون ۱۵ کوچکتر از ۱۸ است، نتیجه
falseمیشود. - بنابراین دستور
echoاجرا نمیشود و هیچ پیامی نمایش داده نمیشود.
۶. خطاهای رایج
-
گذاشتن
=به جای==در شرط
نادرست:if ($age = 18)
درست:if ($age == 18) -
فراموش کردن آکولاد
برای شروع، همیشه از آکولاد استفاده کنید. -
فراموش کردن نقطهویرگول
پس از دستورهای داخل بلوک شرط، نقطهویرگول لازم است. -
نوشتن کد بیرون از تگ PHP
کد PHP باید داخل<?php ... ?>باشد. -
اشتباه در حروف بزرگ و کوچک نام متغیرها
در PHP نام متغیرها به حروف بزرگ و کوچک حساس است.$Ageبا$ageمتفاوت است.
۷. تمرین کلاسی
- برنامهای بنویسید که متغیر
$scoreرا با مقدار ۲۰ تعریف کند. اگر نمره بزرگتر یا برابر ۱۰ باشد، پیام «قبول» نمایش داده شود. - برنامهای بنویسید که اگر مقدار متغیر
$numberبزرگتر از ۱۰۰ باشد، پیام «عدد بزرگ است» نمایش دهد. - خطای کد زیر را پیدا کنید:
<?php $age = 20; if ($age = 18) { echo "برابر است"; } ?>