در این قسمت قصد داریم دستورات شرطی PHP را به شما آموزش دهیم. تقریبا هیچ برنامهای وجود ندارد که در آن شرطی وجود نداشته باشد.
دستورات شرطی اجرای یک سری از دستورات را مشروط به یک شرط معین میکنند. مثلا کد زیر را ببینید:
if(5 > 2){
echo "شرط موجود در پرانتز صحیح است";
}
در بالا با استفاده از تابع if یک شرط را بررسی کردیم. شرط 5 > 2
بررسی میکند که آیا 5 از 2 بزرگتر است یا خیر. اگر این مقایسه صحیح بود کدهای موجود درون کروشه متعلق به if اجرا میشوند. اگر کد بالا را اجرا کنید نوشته "شرط موجود در پرانتز صحیح است" نمایش داده میشود. مثال زیر را تست کنید:
if(5 < 2){
echo "شرط موجود در پرانتز صحیح است";
}
اگر کد بالا را تست کنید خواهید دید در خروجی هیچ چیزی چاپ نمیشود.
حالا دستور if را کمی حرفهای تر کنیم:
if(5 < 2){
echo "شرط موجود در پرانتز صحیح است";
}else{
echo "شرط موجود در پرانتز صحیح نیست";
}
دستور if فوق دو بخشی است. بخش اول که همان if است شرط درون پرانتز را چک میکند، اگر صحیح بود آن را اجرا میکند ولی اگر غلط بود به سراغ else میرود و آن را اجرا میکند. بنابراین وقتی کد بالا را تست کنید خواهید دید متن "شرط موجود در پرانتز صحیح نیست" چاپ خواهد شد.
حالا دستور if را باز کمی حرفهای تر میکنیم:
if(5 < 2){
echo "شرط موجود در پرانتز اول صحیح است";
}elseif(8 < 2){
echo "شرط موجود در پرانتز دوم صحیح است";
}
دستور فوق ابتدا if را تست میکند، چون برقرار نبوده سراغ elseif میرود و شرط آن را بررسی میکند، اگر شرط دوم برقرار بود دستورات درون آن را اجرا میکند. البته در بالا بدلیل اشتباه بودن هر دو شرط هیچ چیزی در خروجی نمایش داده نمیشود.
مثال: به نظرتان دستور زیر چه خروجیای دارد؟
<?php
$number= 9;
if($number < 2){
echo "عدد داده شده کوچکتر از 2 است";
}elseif($number < 5){
echo "عدد داده شده کوچکتر از 5 است";
}else{
echo "عدد داده شده بزرگتر از 5 است";
}
?>
اگر کد فوق را در سیستم خود تست کنید خواهد دید عبارت "عدد داده شده بزرگتر از 5 است" چاپ خواهد شد. در خط 3 شرط درون پرانتز برقرار نیست، چون عدد بزرگتر از 2 است. در خط 6 نیز شرط برقرار نیست، و خط هشت بدلیل برقرار نبودن شروط فوق اجرا خواهد شد.
تابع switch case در PHP
این تابع به منظور بررسی شروط با تعداد بالا میباشد. در زیر مثالی میزنیم که بررسی کنیم متغیر $number
برابر چه عددی است:
<?php
$number= 9;
switch ($number) {
case 1:
echo 1;
break;
case 2:
echo 2;
break;
case 3:
echo 3;
break;
case 4:
echo 4;
break;
case 5:
echo 5;
break;
case 6:
echo 6;
break;
case 7:
echo 7;
break;
case 8:
echo 8;
break;
case 9:
echo 9;
break;
default:
echo "عدد وارده یا بزرگتر از 9 است یا کوچکتر از 1";
break;
}
?>
اگر سوالی دارید در بخش نظرات با ما در میان بگذارید.