دستورات شرطی PHP ، یکی از مهمترین و پرکاربردترین مباحث هستند. دستورات شرطی، دستورالعملها را تنها در صورت برقرار بودن یک یا چند شرط پیاده سازی میکنند. در PHP دستورات شرطی مختلفی وجود دارد که در ادامه با نحوهی استفاده از آنها آشنا میشویم.
دستور if در PHP
پس از عبارت if، شرط انجام دستورات درون پرانتز () آورده میشود و دستورات درون بلاک {} قرار میگیرند. در صورت برقراری شرط، عبارت درون بلاک اجرا میشود و در غیر این صورت، کدی که در ادامهی بلاک آمده، اجرا خواهد شد. در صورتی که کد دستور، تک خطی باشد، نیازی به بلاک {} نخواهد بود و پس از صحیح بودن شرط تنها یک خط پس از عبارت درون پرانتز، اجرا میشود.
مثال دستور شرطی if در PHP:
<?php
$age = 15;
if($age <= 18)
{
echo "You are not allowed to drive a car.";
}
?>
You are not allowed to drive a car.
دستور If یک خطی در php
این دستور همچنین با نام عملگر شرطی سه گانه نیز شناخته میشود. برای نمونه، در مثال زیر ابتدا بررسی میشود که آیا myvalue برابر با 99 است یا خیر. در صورتی که برابر باشد، عبارت x is 99 چاپ میشود و در غیر این صورت x is not 99.
<?php
$myvalue = 99;
$x = ($myvalue == 99) ? "x is 99": "x is not 99";
echo("<br>".$x);
x is 99
دستور if...else در PHP
در دستور if...else، ابتدا شرط یا عبارت درون پرانتز if بررسی میشود و در صورت برقرار بودن شرط، کد درون بلاک اجرا میشود؛ در غیر این صورت، عبارت درون بلاک else چاپ میشود.
مثال دستور شرطی if...else در PHP:
<?php
$age = 26;
if($age <= 25)
{
echo "You are not allowed to drive a car.";
}
else
{
echo "Enjoy the driving.";
}
?>
Enjoy the driving.
دستور if...elseif...else در PHP
در این دستور، ابتدا شرط if بررسی میشود و در صورت برقرار نبودن شرط، شرطهای elseifهای بعدی بررسی میشود و هر کدام از آنها که شرط در آن برقرار باشد، اجرا میشود.
مثال دستور شرطی if...elseif...else در PHP:
<?php
// speed in kmph
$speed = 110;
if($speed < 60)
{
echo "Safe driving speed";
}
elseif($speed > 60 && $speed < 100)
{
echo "You are burning extra fuel";
}
else
{
// when speed is greater than 100
echo "Its dangerous.";
}
?>
Its dangerous.
دستور switch در PHP
دستور switch یکی دیگر از دستورات شرطی در PHP است که به جای شرطهای متعدد elseif استفاده میشود. در این دستور، عبارت هر کدام از کیسها که در شرط سوییچ صدق کند، اجرا میشود و پس از برخورد به دستور break، روند اجرا متوقف خواهد شد. در این دستور در صورتی که از break استفاده نشود، دستورات تمامی کیسها چاپ میشوند.
مثال دستور شرطی switch در PHP:
<?php
$favcolor = "red";
switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>
Your favorite color is red!
مثال دستور شرطی switch در PHP بدون break:
<?php
$favcolor = "red";
switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
case "blue":
echo "Your favorite color is blue!";
case "green":
echo "Your favorite color is green!";
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>
Your favorite color is red!Your favorite color is blue!Your favorite color is green!Your favorite color is neither red, blue, nor green!
برای کسب اطلاعات بیشتر دربارهی دستورات شرطی در PHP میتوانید به وب سایت رسمی PHP مراجعه کنید.
جمعبندی
در این مقاله با یکی از مهمترین دستورات برنامهنویسی یعنی دستورات شرطی در PHP آشنا شدیم. آموختیم که در این زبان چهار دستور شرطی مختلف وجود دارد که عبارتند از: if، if..else، if...elseif..else و switch و شما میتوانید در زمانهای مختلف بنا بر نیاز خود از آنها استفاده کنید. امیدواریم که مقاله برای شما مفید باشد. شما میتوانید سوالات خود را در بخش نظرات با ما در میان بگذارید.
اگر به یادگیری بیشتر در زمینهی PHP علاقه داری، با شرکت در دورهی آموزش PHP در کمتر از یک سال به یک متخصص PHP تبدیل میشوی که آمادهی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.
۵ دیدگاه
رضا شرافتی۲۰ تیر ۱۴۰۱، ۲۲:۲۷
سلام وقت بخیر
من یه ربات تلگرام دارم ولی کدهای php رو خودم ننوشتم
الان واسه یه مقدار که امتیاز لیگ بازی هست دستوری به این شکل تعریف شده که البته فقط قسمت عدد امتیاز رو اینجا دارم (بقیش تو سه تا فایل جداست ?)
حالا میخوام واسه همین مقدار ، چندتا دسته ایجاد کنم و مقادیر مختلفی واسش بنویسم ؛ میشه لطفاً راهنمایی کنید؟!
$this->MinLeague = 1000;
$this->LeagueName = “لیگ هفتگی”;
میخوام سه دسته بشه مثلاً ۰ تا ۳۰۰ ، ۳۰۱ تا ۶۰۰ و ۶۰۱ الی آخر
Soheilr۲۷ بهمن ۱۳۹۹، ۱۹:۵۶
سلام وقت بخیر. من یه سایت دارم . بعد واسه صفحه محصول تکی با php کد نوشتم که مثلا رنگ این محصول زرده که اینطوریه. رنگ : زرد . الان یه مشکلی دارم.
وقتی تو وردپرس رنگشو وارد نمیکنم ،بازم نشون میده ولی اینطوریه. رنگ :
میخوام کاری کنم که نشون نده اگه فیلد رنگو پر نکرده بودم… میشه کمک کنید ؟ کد پی اچ پی هم که زدم اینه :
[code]
function color () {
$color = get_post_meta (get_the_id(), ‘color’,true) . ‘ ‘ ;
if(!empty ($color)) {
echo ‘ ‘;
echo ‘رنگ : ‘ .”;
echo ”;
echo $color ;
}
}
[/code]
نازنین کریمی مقدم۲۹ بهمن ۱۳۹۹، ۱۶:۱۷
درود.
بلاک شرط را درون {} بگذارید. (البته اگر ننوشتید چون برای من یکم نوشتار بهم ریخته متوجه نمیشم)
برای دیباگ بیشتر یک شرط else هم بنویسید ببینید اصلا واردش میشه یا نه؟ چون کدتون به نظر درست میاد.