جملات شرطی در PHP
جملات شرطی
اغلب اوقات هنگام نوشتن یک اسکریپت، شما نیاز دارید که تصمیم های متفاوتی در مقابل نتایج مختلف بگیرید، برای تحقق این موضوع از جملات شرطی استفاده می کنیم.
انواع جملات شرطی در PHP:
- ... if: هنگامی که شرط درست باشد، دستور مقابل if اجرا می شود.
- if ... else: اگر شرط درست باشد دستور مقابل if وگرنه دستور مقابل else اجرا می شود.
- if ... elseif ... else: برای اجرای یک دستور از بین چند دستور کاربرد دارد.
- PHP Switch: برای انتخاب و اجرای یک دستور از بین چند دستور استفاده می شود.
دستور if
نحوه استفاده:
if (Condition)
{
Statement 1
Statement 2
...
}
دستور(Statement) مورد نظر تنها موقعی اجرا می شود که شرط(Condition) برقرار باشد، یعنی مقدار آن برابر true باشد.
مثال: در کد PHP زیر اگر امروز جمعه باشد، جمله "Have a nice weekend" چاپ می شود.
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri") echo "Have a nice weekend!";
?>
</body>
</html>
دستور if...else
این دستور که در واقع می تواند کامل کننده if باشد، تعیین می کند که اگر شرط درست نبود چه دستوری اجرا شود.
نحوه استفاده:
if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
مثال: در مثال زیر اگر امروز جمعه باشد جمله "Have a nice weekend" چاپ می شود وگرنه جمله "Have a nice day" چاپ خواهد شد.
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
else
echo "Have a nice day!";
?>
</body>
</html>
دستور if...elseif....else
همان طور که در بالا گفته شد این نوع if برای اجرای یک دستور از بین چند دستور کاربرد دارد.
نحوه استفاده:
if (condition)
code to be executed if condition is true;
elseif (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
مثال: در مثال زیر اگر امروز جمعه باشد جمله "Have a nice weekend" چاپ می شود و اگر یکشنبه بود جمله "Have a nice Sunday" چاپ می شود وگرنه جمله "Have a nice day" چاپ خواهد شد.
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
elseif ($d=="Sun")
echo "Have a nice Sunday!";
else
echo "Have a nice day!";
?>
</body>
</html>
توجه: نوع دیگر اجرای دستورات کنترلی(مثال):
if ($i == 1):
echo "i is 1";
$i+=2;
elseif ($i == 2):
echo "i is 2";
$i+=3;
else:
echo "is not 1 or 2";
$i-=1;
endif;
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 26618
دیدگاهها
آیا جملات شرطی در PHP مثل همه زبان های برنامه نویسی وقتی بیش از یک خط می شود نباید داخل کروشه باشد?
همان طور که در آموزش جملات شرطی در PHP دیدید دو روش برای نوشتن دستورات شرطی وجود دارد، اما در روش اول حق با شماست اما در روش دوم نیازی به نوشتن آکولاد باز و بسته نیست.
سلام
با به کار بردن دستور date("D") همچین ارروری میبینم
date(): It is not safe to rely on the system's timezone settings.
علت چیه؟
با سلام
شما باید timezone رو توی فایل php.ini تنظیم کنید. یه جایی تو این فایل چنین بلوکی هست
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
تنها کافی است که به عنوان مثال date.timezone = Asia/tehran قرار بدید.
با سلام.
خطا مربوط به timezone هست، ظاهرا.
کد کامل رو بذارید تا بشه فهمید مشکل از چیه بود.
یک حالت شرطی دیگر هم هست که مختصر شده تره
if(condition:true?else);
امیدوارم متوجه منظورم شده باشید
با سلام به شما
بله دوست عزیز کاملا حق با شماست یک حالت شرطی دیگر به این طریق داریم اما این را در نظر بگیرید در مثال های گسترده تر و بزرگ تر از حالت های شرطی که در بالا کفته شد استفاده میشود
و این فقط یک حالت شرطی کوچک می باشد
موفق باشید
با احترام
سلام و خسته نباشید
این D توی پرانتز یه حرف کلیدی هست!؟
با سلام.
بله! حساس به بزرگ و کوچکی هم هست.
حرف D بزرگ روزهای هفته رو به صورت خلاصه (Mon, Sun, ...) نمایش میده.
حرف Y نمایش سال به صورت کامل
حرف y نمایش سال به صورت دو عدد آخر
حرف m نمایش ماه به صورت عدد
حرف M نمایش ماه به حروف
...
برای اطلاعات بیشتر لینک php.net/manual/en/function.date.php را مشاهده نمایید.
سلام خسته نباشید
ببخشید این یعنی چی
؟؟date("D");میشه بیشتر توضیح بدید
ممنون
سلام .دستور date با پارامتر D مشخص کننده ی روز به صورت سه حرفی است. مثلا روز جمعه به صورت Fri که مخفف Friday است مشخص می شود.
به نقل از 1 احسان عباسی:
سلام
اخه وقتی تو سایت زیر مینویسم به خطی که data(D)گیر میده
http://www.tutorialspoint.com/php_webview_online.php
به نقل از محسن babai:
همین مثال اولی این صفحه را کپی کرم تا نتیجه را ببینم
خطای ایجاد شده در ادیتور سایت tutorials point اعلام می کرد که شما باید منطقه ی زمانی را قبل از استفاده از دستور date مشخص کنید. بعنوان مثال با اضافه کردن دستور php زیر در بالای کد date مشکل برطرف خواهد شد:
date_default_timezone_set("Asia/Bangkok");
سلام لطفا کد خودتون رو برای ما ارسال کنید تا اون رو مورد بررسی قرار بدهیم.
سلام
من به وسیله کد های html یه فرم ساختم که میخوام موقع ارسال اطلاعات به وسیله دستور if else و با توجه به فرمی که کاربر پر کرده پیامی ظاهر بشه و بگه آقای فلانی یا خانوم فلانی ثبت نام شما انجام شد
من دستور رو به این صورت نوشتم ولی برای if خطا میده علتش چیه ؟
"echo "hello" if ($ gender==male) echo "mr"; else echo"miss"; "$ name $ family
با سلام
عبارت مربوط به IF می بایست داخل تک کوتیشن قرار بگیرد. به این صورت :
'gender =='male$