دستورات شرطی (if, else, switch) در پی اچ پی
در دنیای برنامهنویسی، ما همواره نیاز داریم تا کدهای مختلفی را بر اساس شرایط متفاوتی اجرا کنیم. درست مانند زندگی واقعی که بر اساس موقعیتها تصمیمگیری میکنیم (مثلاً “اگر هوا بارانی است، چتر بردار”)، در زبان PHP نیز برای تصمیمگیری و کنترل جریان اجرای برنامه از دستورات شرطی استفاده میشود.
در این مقاله از سایت پی اچ پی ساز (بخش نصب و سینتکس پایه)، قصد داریم ساختارهای شرطی پرکاربرد if، else و switch را به صورت جامع و همراه با مثالهای کاربردی بررسی کنیم تا بتوانید منطقهای هوشمندانهای در برنامههای خود پیادهسازی کنید.
بررسی دستور if در PHP
سادهترین و پایهایترین نوع دستور شرطی در PHP، دستور if است. این دستور بررسی میکند که آیا یک شرط خاص برقرار (True) است یا خیر. اگر شرط درست باشد، کدهای داخل بلاک اجرا میشوند؛ در غیر این صورت، مفسر PHP از روی آنها عبور کرده و ادامه برنامه را اجرا میکند.
مثال:
<?php
$time = 10;
// اگر متغیر زمان کمتر از 12 باشد، دستور چاپ میشود
if ($time < 12) {
echo "صبح بخیر!";
}
?>
ساختار شرطی if…else
مواقعی پیش میآید که میخواهیم اگر شرط اول ما برقرار نبود، برنامه یک کار جایگزین را انجام دهد. در این حالت از کلمه کلیدی else به همراه if استفاده میکنیم. بخش else نیازی به تعریف شرط ندارد و فقط زمانی اجرا میشود که نتیجه بخش if برابر با غلط (False) باشد.
مثال:
<?php
$score = 15;
if ($score >= 10) {
echo "شما در این درس قبول شدید.";
} else {
echo "متاسفانه شما در این درس مردود شدید.";
}
?>
بررسی شرایط چندگانه با if…elseif…else
اگر در برنامه خود بیش از دو حالت مختلف داشته باشیم، از elseif (که در PHP میتوان آن را به صورت دو کلمهای else if نیز نوشت) استفاده میکنیم. این ساختار به ما اجازه میدهد تا چندین شرط را به صورت متوالی و به ترتیب بررسی کنیم. به محض اینکه یکی از شروط درست باشد، بلوک مربوط به آن اجرا شده و بقیه شروط نادیده گرفته میشوند.
مثال:
<?php
$age = 25;
if ($age < 12) {
echo "شما یک کودک هستید.";
} elseif ($age >= 12 && $age < 18) {
echo "شما یک نوجوان هستید.";
} else {
echo "شما یک بزرگسال هستید.";
}
?>
ساختار شرطی switch در PHP
زمانی که بخواهیم مقدار یک متغیر ثابت را با مجموعهای از مقادیر مختلف و مشخص مقایسه کنیم، استفاده از چندین elseif پشت سر هم باعث شلوغی، طولانی شدن و ناخوانایی کد میشود. در این حالت، بهترین و استانداردترین جایگزین، استفاده از ساختار switch است.
در این ساختار از کلمه کلیدی case برای تعریف حالتهای ممکن و از break برای پایان دادن به بررسی پس از یافتن یک تطابق استفاده میشود. کلمه کلیدی default نیز دقیقا مانند else عمل کرده و در صورتی که هیچکدام از case ها برقرار نباشند، اجرا میشود.
مثال:
<?php
$day = "Friday";
switch ($day) {
case "Saturday":
echo "امروز شنبه است، اولین روز کاری هفته.";
break;
case "Thursday":
echo "امروز پنجشنبه است، به آخر هفته نزدیک میشویم.";
break;
case "Friday":
echo "امروز جمعه است! روز استراحت.";
break;
default:
echo "امروز یک روز کاری معمولی است.";
}
?>
نکته مهم در مورد switch: فراموش کردن دستور break باعث بروز خطای منطقی (Logical Error) میشود. اگر break را ننویسید، PHP پس از پیدا کردن اولین case صحیح، کدهای مربوط به تمام case های بعدی را نیز اجرا خواهد کرد!
جمعبندی: if یا switch؟
دستورات شرطی، هسته اصلی ایجاد منطق در برنامههای وب هستند. انتخاب بین if و switch کاملا به نیاز شما و خوانایی کدهایتان بستگی دارد؛ اما به عنوان یک قانون کلی میان توسعهدهندگان: برای بررسیهای منطقی پیچیده (مانند کوچکتر و بزرگتر بودن، یا ترکیب چند شرط با && و ||) از ساختار if/else استفاده کنید و برای مقایسه دقیق برابری یک متغیر با چند مقدار ثابت از ساختار switch بهره ببرید.
برای تسلط بیشتر بر مفاهیم پایه و شروع قدرتمند برنامهنویسی، مطالعه سایر مقالات دستهبندی نصب و سینتکس پایه را در سایت پی اچ پی ساز به شما پیشنهاد میکنیم.

بدون دیدگاه