سطح A: جاده دو مسیره
در سادهترین حالت، یک تصمیم فقط دو نتیجه دارد: یا انجامش بده، یا کار دیگری بکن. در این سطح، با ساختار بنیادین if...else آشنا میشویم که دقیقاً همین کار را برای ما انجام میدهد.
محتوای آموزشی
ساختار if...else (اگر... در غیر این صورت)
این ساختار، ستون فقرات تصمیمگیری در برنامهنویسی است. گرامر آن بسیار ساده و شبیه به زبان انسان است:
if (شرط) {
// کدهایی که اگر شرط درست (true) بود، اجرا میشوند
} else {
// کدهایی که اگر شرط درست نبود (false)، اجرا میشوند
}
- شرط (Condition): عبارتی است که داخل پرانتز
()قرار میگیرد و نتیجهی آن همیشهtrueیاfalseاست. ما این شرطها را با استفاده از عملگرهای مقایسهای و منطقی که در گام دوم یاد گرفتیم، میسازیم (مانند$age > 18یا$username == "admin"). - بلوک
if: کدهایی که داخل اولین آکولاد{}قرار دارند، فقط و فقط زمانی اجرا میشوند که شرط داخل پرانتزtrueباشد. - بلوک
else: بخشelseاختیاری است. کدهای داخل این بلوک تنها زمانی اجرا میشوند که شرطifبرابر باfalseباشد.elseبه معنی "در غیر این صورت" است و یک مسیر جایگزین برای برنامه مشخص میکند.
کارگاه عملی: تشخیص یخبندان
در کد زیر، دمای هوا را در یک متغیر داریم. برنامه با استفاده از if...else چک میکند که آیا دما صفر یا زیر صفر است یا خیر و پیام مناسب را نمایش میدهد.
<?php
$current_temperature = -5; // دما را به درجه سانتیگراد تغییر دهید و نتیجه را ببینید
echo "دمای فعلی هوا: " . $current_temperature . " درجه سانتیگراد است.";
echo "<br><br>";
// بررسی شرط
if ($current_temperature <= 0) {
// این بلوک اگر شرط درست باشد اجرا میشود
$message = "هوا سرد است! خطر یخبندان وجود دارد. ❄️";
$advice = "توصیه میشود لباس گرم بپوشید.";
} else {
// این بلوک اگر شرط نادرست باشد اجرا میشود
$message = "هوا مساعد است و خطر یخبندان وجود ندارد. ☀️";
$advice = "روز خوبی داشته باشید!";
}
echo "<strong>وضعیت:</strong> " . $message;
echo "<br>";
echo "<strong>توصیه:</strong> " . $advice;
?>
تمرین شما
صورت تمرین: سیستم کنترل ورود
یک متغیر به نام $user_age تعریف کرده و یک سن دلخواه به آن بدهید. سپس با استفاده از ساختار if...else یک سیستم ساده کنترل ورود بنویسید:
- اگر سن کاربر ۱۸ یا بیشتر بود، پیام
"شما مجاز به ورود هستید."را چاپ کند. - در غیر این صورت، پیام
"متاسفانه شما به دلیل محدودیت سنی مجاز به ورود نیستید."را چاپ کند.
برنامه خود را با سنهای مختلف (مثلاً ۱۰، ۱۸ و ۲۵) تست کنید تا از صحت عملکرد هر دو مسیر مطمئن شوید.
باشگاه ذهن: یک چالش برای هوش مصنوعی
چالش شما: در PHP، برخی مقادیر وجود دارند که false نیستند اما در یک شرط if مانند false عمل میکنند (مثل عدد 0، رشته خالی "" یا آرایه خالی []). به این مقادیر "falsy" میگویند. در مقابل، مقادیری که مانند true عمل میکنند "truthy" نام دارند. درک این تفاوت برای جلوگیری از باگهای رایج بسیار مهم است.
وظیفه: یک پرامپت برای هوش مصنوعی بنویسید و از او بخواهید:
- مفهوم "Truthy" و "Falsy" در PHP را به زبان ساده توضیح دهد.
- لیست کاملی از تمام مقادیر "Falsy" در PHP را ارائه دهد.
- یک مثال کد بنویسد که در آن یک متغیر حاوی رشته عددی
"0"است. سپس توضیح دهد که چراif ($variable)نتیجهfalseمیدهد، در حالی که$variable == falseنیز نتیجهfalseمیدهد و این تفاوت ظریف از کجا ناشی میشود.