خب دوستان عزیز وارد فصل ۳ می شویم و همراه شما عزیزان به آموزش مبحث جدید دستورهای شرطی و کنترلی در PHP می پردازیم. در این فصل قصد داریم برنامه نویسی را در سطح پیشرفته تری دنبال کنیم. با دستورهای شرطی و کنترلی می توانید برنامه خود را موظف به انجام یک سری وظایف کنید.
در تمام زبان های برنامه نویسی کلمه «عبارت» یا expression وجود دارد.
عبارت یا expression به مجموعه ی ترکیب شده ای از مقادیر، متغییرها، عملگرها و توابع گفته می شود که نتیجه نهایی را در قالب یک مقدار درون یک متغییر ذخیره می کنند.
به مثال زیر توجه کنید:
y = 3(abs(2x) + 4)
که در زبان برنامه نویسی PHP این عبارت یا expression به صورت زیر نوشته می شود:
$y = 3 * (abs(2 * $x) + 4);
یعنی پس از انجام عملیات نتیجه نهایی درون متغییری به نام y ذخیره می گردد.
به عبارت هایی که شامل خروجی صحیح یا غلط (True or False) هستند، مقادیر بولین Boolean گفته می شود.
به عنوان مثال حاصل عبارت 3 == 5 برابر است با FALSE، چون به صورت طبیعی این دو عدد با یکدیگر برابر نیستند.
شروط یا شرط ها در واقع وظیفه ی هدایت برنامه شما را به عهده دارند. به عبارت دیگر آنها توانایی پرسیدن سوال از برنامه و مسیردهی درست آن متناسب با پاسخی که در اختیارشان قرار میدهند را دارند.
شروط در برنامه نویسی به تنهایی می توانند یک برنامه را پویا یا داینامیک کنند. در اینجا سه دستور شرطی بدون تکرار به نام های if و switch و عملگر ? وجود دارد. منظور از عبارت «بدون تکرار» دستوری است که درون یک حلقه ی دایره وار تکرار نشود.
برای توضیح تمام دستورهای شرطی سعی می کنیم در ابتدا یک مثال را مطرح کرده و شما را با فضای آن آشنا کنیم. فرض کنید در یک خیابان در حال رانندگی هستید. سپس به یک تابلو می رسید که شما را به پمپ بنزین هدایت می کند. به داشبورد ماشین نگاه می کنید و اگر بنزین نداشتید به جایگاه پمپ بنزین رفته و بنزین می زنید. پس از پر شدن باک بنزین از جایگاه خارج و به مسیر خود ادامه می دهید. به تصویر زیر توجه بفرمایید:
در این مثال از جمله اگر یا if استفاده کردیم. در عمل گفتیم اگر بنزین نداشتی به جایگاه برو! و اگر باک بنزین خود را پر کردی از جایگاه خارج شو!
در ساختار زبان برنامه نویسی PHP این دستورها به صورت زیر نوشته می شوند:
<?php if(conditional){ //do something } ?>
ابتدا تگ های PHP را باز و بسته کرده ایم. درون تگ از دستور if به عنوان شرط برنامه استفاده کرده و عبارت شرطی را درون پرانتز () می نویسیم. اگر شرط برقرار بود یا به عبارت دیگر مقدار شرط معادل TRUE بود سایر دستورهای درون دو آکولاد { } اجرا می شوند. به مثال زیر توجه کنید:
<?php if ($benzin < 5) { $benzin = 100; } ?>
در این مثال داخل پرانتز مشخص می کنیم که آیا مقدار بنزین از عدد ۵ کمتر است یا خیر؟ اگر بنزین از ۵ لیتر کمتر بود ماشین به جایگاه رفته و باک بنزین را ۱۰۰ لیتر پر می کند و پس از آن برنامه به ادامه پردازش خود می پردازد. همچنین وقتی از شرط بیرون آمدیم مقدار بنزین برابر ۱۰۰ خواهد بود.
برخی مواقع یک شرط ممکن است درست نباشد یا مقدار آن برابر FALSE شود ولی ما میخواهیم همچنان برنامه خود را کنترل کنیم. مثلا می خواهیم بگوییم اگر ماشین بنزین نداشت و جایگاه اول خراب بود به جایگاه دوم برو! در این حالت از یک دستور دیگر به نام else (به معنای فارسی در غیر این صورت) استفاده می کنیم. به تصویر زیر توجه فرمایید:
همانطور که ملاحظه می کنید اگر ماشین به جایگاه اول رفت و خراب بود آنگاه مسیر را تغییر داده و به جایگاه دوم می رود. این حالت با دستور else تولید می شود و در زبان برنامه نویسی PHP به صورت زیر خواهد بود:
<?php if ($benzin < 5 && $station1 == 'سالم بود') { $road = 'جایگاه ۱'; $benzin = 100; }else{ $road = 'جایگاه ۲'; $benzin = 100; } ?>
تنها کافیست بعد از دستور if، عبارت else را نوشته و آکولاد را باز و بسته کنید. در نهایت ادامه برنامه را درون این دو آکولاد قرار دهید.
این دستور به عنوان یک ترکیب از دستور else و if می باشد. یعنی شما می گویید اگر ماشین بنزین نداشت و جایگاه ۱ خراب بود آنگاه اگر جایگاه ۲ خراب نبود بنزین را در جایگاه ۲ بزن. به مثال زیر توجه بفرمایید:
<?php if ($benzin < 5 && $station1 == 'سالم بود') { $road = 'جایگاه ۱'; $benzin = 100; }elseif ($benzin < 5 && $station2 == 'سالم بود'){ $road = 'جایگاه ۲'; $benzin = 100; }else{ $road = 'از کنار جاده بنزین تهیه کن'; $benzin = 100; } ?>
مثال فوق یک شکل کامل از دستور شرطی if و elseif و else می باشد.
دستور شرطی switch یکی از دستورهای بسیار مفید و کاربردی در تمام زبان های برنامه نویسی است که در آن یک متغییر می تواند مقادیر مختلفی را دریافت و متناسب با آن مقدار شرط را بررسی کرده و مجموعه ای از کدها را اجرا کند. برای مثال منوی وب سایتی را در نظر بگیرید که شامل عناوین «صفحه اصلی»، «درباره ما»، «اخبار»، «ورود» و «پیوندها» است. حالا میخواهیم برنامه ای بنویسیم که وقتی صفحه برابر یکی از این عناوین شد محتوایی را نمایش دهد. در این حالت اگر از دستور شرطی if استفاده کنیم به صورت زیر عمل خواهیم کرد:
<?php if ($page == "صفحه اصلی") echo "شما در صفحه اصلی قرار دارید"; elseif ($page == "درباره ما") echo "شما در صفحه درباره ما قرار دارید"; elseif ($page == "اخبار") echo "شما در صفحه اخبار قرار دارید"; elseif ($page == "ورود") echo "شما در صفحه ورود قرار دارید"; elseif ($page == "پیوندها") echo "شما در صفحه پیوند ها قرار دارید"; ?>
و حالا همین مفاهیم را با دستور switch ایجاد می کنیم:
<?php switch ($page) { case "صفحه اصلی": echo "شما در صفحه اصلی قرار دارید"; break; case "درباره ما": echo "شما در صفحه درباره ما قرار دارید"; break; case "اخبار": echo "شما در صفحه اخبار قرار دارید"; break; case "ورود": echo "شما در صفحه ورود قرار دارید"; break; case "پیوند ها": echo "شما در صفحه پیوند ها قرار دارید"; break; } ?>
در این مثال در دستور switch یک متغییر به نام $page تعریف کردیم که مقادیر مختلفی را دریافت می کند. اگر مقدار page برابر صفحه اصلی باشد در این صورت عبارت «شما در صفحه اصلی قرار دارید» نمایش داده می شود. به عبارت دیگر اگر مقدار page برابر «صفحه اصلی» بود، کیس (وضعیت) اول اتفاق می افتد و با دستور break شرط از بین رفته و ادامه برنامه اجرا می شود. برای سایر مقادیر نیز همین روند ادامه دارد.
دستور Default
برای دستور شرطی switch می توانیم یک مقدار default یا پیش فرض تعریف کنیم که اگر هیچ یک از کیس های فوق اتفاق نیافتاد مقدار پیش فرض نمایش داده شود. بنابراین مثال بالا را به صورت زیر تغییر می دهیم:
<?php switch ($page) { case "صفحه اصلی": echo "شما در صفحه اصلی قرار دارید"; break; case "درباره ما": echo "شما در صفحه درباره ما قرار دارید"; break; case "اخبار": echo "شما در صفحه اخبار قرار دارید"; break; case "ورود": echo "شما در صفحه ورود قرار دارید"; break; case "پیوند ها": echo "شما در صفحه پیوند ها قرار دارید"; break; default: echo "شما هیچ یک از گزینه های منو را انتخاب نکرده اید"; break; } ?>
یکی دیگر از راه های نوشتن دستور شرطی if استفاده از عملگر ? می باشد که در یک خط می توان یک دستور if را اجرا کرد. این عملگر بدین صورت است که ابتدا مقدار شرط را می نویسم و سپس با عملگر ? می گوییم که اگر شرط برقرار بود دستورهای بعد از عملگر ? را اجرا کن. سپس با علامت : (دو نقطه) می گوییم که در غیر اینصورت دستور بعدی که بعد از عملگر : قرار دارد با اجرا کن. به مثال زیر توجه بفرمایید:
<?php echo $benzin <= 5 ? "به اندازه کافی بنزین داری" : "برو بنزین بزن"; ?>
در این مثال با عملگر ? مشخص کرده ایم که اگر بنزین ماشین کمتر از ۵ لیتر بود برو و بنزین بزن، در غیر این صورت به اندازه کافی بنزنین داری و مسیرت رو ادامه بده!
بسیار عالی عزیزان. در این بخش به آموزش سه دستور شرطی if و switch و عملگر ? پرداختیم. از اینکه همراه شما هستیم خوشحالیم. در بخش بعدی از فصل ۳ به آموزش حلقه ها می پردازیم.
جهت دریافت آموزش ویدیویی صفر تا صد PHP به همراه ساخت CMS مشابه وردپرس روی اینجا یا تصویر زیر کلیک کنید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.