آموزش PHP به زبان ساده – جلسه چهارم

دستورات شرطی

دستورات شرطی (Conditional Statment)، یکی از پرکاربردترین موارد در دنیای زبان های برنامه نویسی و از جمله در برنامه نویسی وب و php به شمار می روند، در یک تعریف ساده از دستورات شرطی، می توان گفت که با آنها وجود یا عدم شرطی را بررسی می کنیم و بر اساس مثبت یا منفی بودن پاسخ ارزیابی شرط، مطابق با خواست و نیازمان، کاری را انجام می دهیم؛ در دنیای واقعی نیز بارها شنیده ایم که مثلا گفته اند اگر خوب تمرین کنید، موفق می شوید یا اگر فلانی بیاید، به کوهنوردی خواهیم رفت و…، این نوع تعاریف در برنامه نویسی وب و به طور خاص در php با if و else و ترکیب آنها یعنی elseif به سیستم و در واقع به مفسر php تفهیم می شوند.

 

دستور شرطی if در php

به طور کلی دستورات مربوط به if به سه شکل قابل اجرا هستند. این سه شکل عبارتند از:

  1. (شرط)if
  2. else (شرط اول)if
  3. else (شرط دوم)elseif (شرط اول)if

اگر بخواهیم تنها یک دستور را به صورت شرطی اجرا کنیم باید از دستور if استفاده کنیم. هنگامی که از این دستور استفاده کنیم، php شرط را ارزیابی میکند و یک مقدار بولی (Boolean) را باز میگرداند. همانطور که در درس قبل گفته بودیم، داده های بولی تنها دو مقدار True و False را برمیگردانند. پس اگر دستور شرط صحیح باشد، نتیجه true ارزیابی شده و دستورالعمل اجرا میشود در غیر اینصورت مقدار false ارزیابی میشود و از اجرا شدن دستورالعمل چشم پوشی میشود.
درک نحوه کارکرد دستور if چندان سخت نیست، با if وجود یا عدم شرطی را بررسی می کنیم، مثلا اگر متغیری داشته باشیم با نام number و مقادیرش ۱۰۰ باشد، حال بخواهیم بررسی کنیم که آیا متغیر number برابر ۴۲ است یا خیر، به صورت ساده می نویسیم: اگر (if) متغیر number برابر با ۴۲ باشد (رابطه true باشد)، محاسبه بین {  } را انجام بده.

 

دستور if…else

کنون که با if آشنا شدیم، باید از خود بپرسیم اگر if درست (true) نشد آنوقت تکلیف چیست؟! یک برنامه نویس خوب باید حساب همه چیز را کرده باشد، این چیزی است که شکل پیشرفته آن را همان هوش مصنوعی می نامند، پس باید شرایط بعد از نادرست شدن رابطه if را هم تعریف کنیم، برای این کار از دستور شرطی else یا else if استفاده می کنیم، ابتدا به else می پردازیم.
else در واقع جایگزینی برای if است، یعنی اگر رابطه if درست نباشد (false باشد)، آنگاه مقادیر بین {} در else اجرا می شود، به مثال زیر توجه کنید تا مسئله روشن شود.

فرق این دستور با دستور if در این است که شما حالت دومی را نیز برای شرط در نظر دارید، یعنی اگر شرط اول برقرار بود، دستورالعمل مناسب اجرا میشود ولی اگر شرط برقرار نبود دستورالعمل جایگزین اجرا میشود (بر خلاف دستور if که اگر شرط اول برقرار نبود هیچ دستورالعملی اجرا نمیشد).

نحوه ی استفاده از این دستور نیز مانند دستور if است با این تفاوت که بعد از بسته شدن آکولاد دستور if، دستور else اجرا میشود:

 

همانطور که می‌بینید استفاده از else بسیار آسان است و کافی است آن را در دنباله دستور if بنویسیم و شرط مورد نظر برای شرایطی که عبارت مقابل if برقرار نباشد را بین در این بخش وارد کنید.

در بحث پیشین (عملگرهای محاسبه ) گفتیم علامت == یعنی دو طرف رابطه برابر باشد و علامت =! یعنی دو طرف رابطه برابر نباشد.

 

 

دستور شرطی else if در php

elseif ترکیب دیگری از if و else و در واقع بینابین آنها است، به فرض شاید بخواهیم قبل از خاتمه دادن به کدنویسی خود، چندین ارزیابی دیگر را نیز انجام دهیم، اینجا است که از elseif استفاده می کنیم، elseif با نادرست شدن رابطه if قبل از آن اجرا می شود و اگر مقدار آن false شود، مفسر php از آن صرفه نظر می کند و به ادامه کد می پردازد

این دستور این امکان را فراهم میکند تا در صورت عدم برقراری شرط دستور if، شرطهای دیگری را نیز بررسی کنیم. ساختار کلی استفاده از این دستور به شرح زیر است:

 

یک مثال برای این حالت از شرط :

همانطور که در کد بالا ملاحظه می کنید، بر اساس داده های تعریف شده، رابطه if و else if نادرست خواهند بود و به ناچار  else اجرا می شود .

از else if به هر تعداد که بخواهیم، بین if و else می توانیم استفاده کنیم، اما مفسر php به ترتیب، درست بودن رابطه آنها را بررسی و اگر یکی از آنها درست باشد، تنها آن را اجرا می کند.

اجرای شرطی دستورات HTML

علاوه بر اجرای دستورالعملها در صورت برقرار بودن یک شرط، میتوانیم کدهای html را نیز اجرا کنیم. یعنی در صورتی که یک شرط برقرار بود قطعه کد html نمایش داده شود، در غیر اینصورت از نمایش داده شدن آن صرف نظر شود.

در این موارد، بجای اینکه از آکولاد بازشونده ” { ” استفاده کنیم، باید از دونقطه ” : ” استفاده کنیم و بجای اینکه دستور را با آکولاد ببندیم ” } ” از دستور; endif  استفاده میکنیم.

 

 

یادگیری دستورات شرطی یکی از مهمترین موارد در زبانهای برنامه نویسی است. در ادامه  دستور شرطی switch را بررسی خواهیم کرد.

کاربرد دستور switch در php چیست؟

همانطور که از نام switch (به معنی تعویض کردن) پیداست، از آن برای انتخاب چند مورد (case) مختلف با توجه به مقادیری که مقایسه می شوند، استفاده می کنند، البته گاهی به جای switch و case از if و elseif هم استفاده می کنند، ولی فلسفه پیدایش این دو از هم جدا است و در کدنویسی های پیشرفته کارکردی متمایز دارند؛ اگر بخواهیم نحوه کاربرد switch و case در php را با یک مثال توضیح دهیم، می توان کتابخانه ای را فرض کرد که با توجه به درخواست شما (Statement یا دستور شما) از بین کتابهای (case های) موجود، یک مورد را انتخاب (switch) کرده و به شما تحویل می دهد.

 

استفاده از default case در دستور switch

حال با توجه به مثال، فرض کنید هیچ کدام از case های ما با مقادیر متغیر statement همخوانی نداشته باشند، ممکن است در این صورت بخواهیم به کاربر پیامی نشان دهیم یا به او بگوییم که کشور خود را در فیلد مربوط وارد کند و یا هر چیزی که نیاز به یک مقدار پیش فرض دارد؛ برای این منظور از ظرفیت دیگری در switch به نام default case یا مورد پیش فرض استفاده می کنیم، به مثال زیر توجه کنید.

– با توجه به مثال بالا، چون مقدار متغیر statement برابر unknown است و هیچ کدام از case ها چنین مقداری ندارند، پس قسمت مربوط به default اجراء می شود.
– دقت کنید که php بیشتر یک زبان داینامیک است تا استاتیک، یعنی داده ها و خروجی ها با توجه به شرایط و مقادیر متفاوت، مختلف خواهند بود، در مثال ها صرفا جهت کمک به آموزش مطلب، از متغیر های استاتیک استفاده شده است، لذا این مقادیر می توانند مثلا با توجه به IP کاربر یا نام او و یا هرآنچه که به عنوان یک متغیر می تواند تعریف شود، قابل تغییر باشد که این بستگی به نیاز و هدف شما دارد.

دستورات شرطی به پایان رسید و تنها راه یادگیری آن تمرین مکرر است تا به خوبی با مفهوم آن آشنا شوید .

نویسنده مطلب: امیرحسین صحرانورد

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

6 + 2 =