عبارت شرطی در PHP

بسیاری از اوقات هنگام نوشتن کدها در PHP  می‌خواهید عملیات مختلفی در شرایط مختلف صورت پذیرد. در این زمان است که از عبارت شرطی در کد نویسی‌ها استفاده می‌کنیم.عبارت شرطی(condition) در PHP به چند دسته تقسیم بندی می‌شوند.

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

عبارت If…else، یک سری از کدها اجرا می‌شود اگر آن شرط  درست  و شرط دیگر نادرست باشد.

عبارت  if…elseif…else، انتخاب یکی از چند بلوک  کدها برای آنکه اجرا شود

عبارت switch  انتخاب یکی از بین بسیاری بلوک کدها برای آنکه اجرا شود.

عبارت شرطی If در PHP

همانطور که گفته شد عبارت شرطی If تنها زمانی که آن شرط خاص درست باشد کدها را اجرا می‎‌کند. برای نوشتن این دستور در PHP ابتدا if را نوشته و در مقابل آن شرط را داخل پرانتز ( ) قرار می‌دهیم و در آکولاد { ; } تنها زمانی که شرط درست است را بیان می‌کنیم.

در ادامه یک مثال را مشاهده کنید، که خروجی آن “!Have a good day” است اما تنها زمانی شرط قابل قبول می‌باشد که ساعت قبل از ۲۰ را نشان دهد.

عبارت if…esle درPHP

همان طور که قبلا انواع عبارات شرطی در PHP را تعریف کردیم، در عبارت if…else یک سری از کدها اجرا می‌شوند اگر آن شرط  درست  و شرط دیگر نادرست باشد.

به نحوه نوشتن آن در پی اچ پی توجه کنید.

در این قاعده ابتدا شرط  و در ادامه زمانی را که شرط درست باشد چه کدهایی انجام شود و اگر نادرست بود کدهای دیگری اجرا شود را بیان می‌کنیم. با یک مثال بیشتر با این قواعد آشنا شوید.

 خروجی این دستور زمانی که ساعت کمتر از ۲۰ باشد !Have a good day را چاپ می‌کند  و اگر ساعت بیشتر از ۲۰ را نشان بدهد Have good night را نمایش می‌دهد. پس در این جا بسته به ساعت دو جواب متفاوت می‌توانیم داشته باشیم.

عبارت if…elseif…else در PHP

همان طور که قبلا اشاره کردیم عبارت  if…elseif…else، یعنی انتخاب یکی از چند بلوک  کدها برای آنکه اجرا شود.همانند عبارات شرطی که قبلا توضیح دادیم، این عبارت شرطی را توضیح می‌دهیم.

در این عبارت شرطی دو شرط تعریف می‌شود. به هر کدام از شرط ها یک else تعلق می‌گیرد تا درصورتی که شرط نادرست بودن کدهای دیگری اجرا شود. در یک مثال این قواعد را ببینیم.

در مثال قبل شرط ساعت کمتر از ۲۰ را داشتیم که اگر برقرار بود Have a good day چاپ می‌شد و اگر شرط برقرار نبود Have a good night چاپ می‌شد. اما در این مثال شرط ساعت کمتر از ۱۰ را نیز داریم که در صورتی که بر قرار باشد Have a good morning چاپ می‌شود.

 عبارت شرطی switch در PHP

وقتی صحبت از عبارت switch  می‌شود یعنی انتخاب یکی از بین بسیاری بلوک کدها برای آنکه اجرا شود. نحوه ی نوشتن این شرط با شرط ها دیگر کمی متفاوت است. برای نوشتن کدهایی خواناتر یا سرعت بیشتر عبارات شرطی بهتر است از قاعده switch در PHP استفاده کنیم. به نحوه نوشتن آن توجه کنید.

 در نوشتن این عبارت همانند مثال های قبل، پس از بیان شرط خود به صورت متغیر برای بیان موقعیت متغیرها شروع را با case و برای بستن موقعیت از break استفاده می‌کنیم. تمام موقعیت هایی که می‌خواهیم را می‌نویسیم هرگاه به هر کدام از آن ها رسید و شرط  گفته شده برقرار بود آن را چاپ کرده و بقیه موقعیت ها را رها می‌کند و دستور به پایان می‌رسد. در حقیقت تنها یکی از این دستورها را که درست است را انتخاب می‌کند. و اگر هیچ یک از case ها درست نبود از کلمه default و بیان این که هیچ یک درست نیست می‌پردازیم. یک مثال مشاهده کنید.

همان طور که مشاهده می‌کنید تنها خروجی ما !Your favorite color is red است و بقیه موقعیت ها بدون بررسی شدن کنار گذاشته می‌شوند و به پایان دستور می‌رسد و چاپ می‌شود

13 نظرات شما

  • امین

    شهریور ۲۷, ۱۳۹۲ at ۱:۳۵ ب.ظ
    با سلام و تشکر از آموزش خوبتون. در مورد condition که برای عبارات شرطی تعریف کردید میشه توضیح بیشتری بدید؟ چجور دستوراتی میشه داخل اون قرار داد؟
    • بهاران بنی اسدی

      شهریور ۲۷, ۱۳۹۲ at ۲:۳۷ ب.ظ
      سپاسگزارم. دوست عزیز مشاهده اولین مثال را به شما پیشنهاد می‌کنم. اما جا دارد به جای "دستور" گفته شود از چه نوع داده و عملگرهایی می‌شود استفاده کرد. شما از هر نوع داده و عملگری می‌توانید استفاده کنید. برای آشنایی بیشتر با این مباحث به بخش داده ها در PHP و عملگرها در PHP سایت ما سر بزنید.
  • حلقه‌ها در PHP پی اچ پی - مبتدی

    شهریور ۲۸, ۱۳۹۲ at ۳:۰۵ ب.ظ
    […] نحوه نوشتن این دسته از دستورات در پی اچ پی نیز همانند عبارت های شرطی در PHP، در مقابل while شرط را داخل ( ) قرار می‌دهیم و دستوری را که […]
  • sadad

    آبان ۳, ۱۳۹۲ at ۸:۳۰ ب.ظ
    سلام عرض می کنم و از اینکه با سایت شما آشنا شدم خوشحالم. می خواستم بپرسم اگر ما یک کلاس به زبان php داشته باشیم که شامل چندین فانکشن باشه و از روش true و false هم استفاده کنیم، چگونه فاکنشن جدیدی بهش اضافه کنیم که فقط حروف فارسی رو انتخاب کنه؟ پیشاپیش: ممنون از راهنمایی و کمکتون.
    • بهاران بنی اسدی

      آبان ۴, ۱۳۹۲ at ۱۰:۲۶ ق.ظ
      سلام من هم خوشحالم که مطالب سایتم براتون مفید مواقع شده است. کافی است از تابع ()preg_match استفاده کنید. در بخش اعتبار سنجی ایمیل و URL گفته شد که چگونه از این تابع استفاده بشود و فقط اجازه نوشتن حروف انگلیسی را در بخش نام داشت. حال میتوانید به جای حروف انگلیسی، حروف فارسی را در این تابع قرار دهید.
  • sadad

    آبان ۳, ۱۳۹۲ at ۱۰:۰۶ ب.ظ
    سلام و خسته نباشید. صدا زدن یک فانکشن داخل یک کلاس در php چگونه است؟ توضیح بیشتر اینکه اگر شما در یک کلاس چند تابع داشته باشید که هرکدام یک کاری انجام می دهند(مثلاً یکی از آنها اعتبارسنجی شماره موبایل و دیگری از ورود اطلاعات تکراری جلوگیری می کند) حال به چه صورت یک تابع با نام جدید بساریم که کار دو تابع مثال زده شده را با هم انجام دهد؟ (یعنی هم صحت شماره و هم تکراری بودن آن را بررسی کند) لازم به توضیح است که ما در این کلاس از روش true و fase استفاده می کنیم که شما تو آموزشاتون بیان کردید. ممنون و سپاسگذار.
    • بهاران بنی اسدی

      آبان ۴, ۱۳۹۲ at ۱۰:۰۳ ق.ظ
      سلام دوست عزیز، پاسخ با جزئیات به سوال شما بسیار گسترده است. البته در درس های آتی به این سوال شما به صورت کامل پاسخ داده خواهد شد. اما چون شما سوال پرسیده اید امیدوارم این پاسخ به شما کمک کند: برای جلوگیری از ورود داده های تکراری در فرم، ابتدا باید یک پایگاه داده ایجاد کنید تا داده ها در آن ذخیره شوند، پس از ذخیره داده ها میتوانید به مقایسه این داده ها با داده های جدید که کاربر مینویسد بپردازید و در صورت تکراری بودن پیغام خطا به کاربر نشان دهد. برای اطلاعات بیشتر میتوانید به این لینک بروید: http://www.phpeveryday.com/articles/PHP-MySQL-Creating-Form-Insert-Data-P280.html
  • احمد

    بهمن ۱۰, ۱۳۹۲ at ۲:۳۴ ب.ظ
    س. چگونه ميتونم يك برنامه اي رو كه نوشتم وارد يه سايت بكنم و اون سايت هم مال من نباشه.
    • بهاران بنی اسدی

      بهمن ۱۲, ۱۳۹۲ at ۱۱:۰۳ ق.ظ
      سلام ادمین اون سایت باید اجازه وارد شدن به بخشی از سایت رو به شما بده. این دسترسی محدود است اما اجازه گذاشتن مطلب رو به شما خواهد داد.
  • مهرداد کیشانی

    مهر ۹, ۱۳۹۳ at ۱۲:۴۹ ب.ظ
    سلام جناب من میخوام در پنل مدیریتی خودم از ارسال کدهای پی اچ پی جلگوگیری کنم که در واقع کدهای اچ تی ام ال و جاوا اسکریپت فقط جواب بده -کدهای پی اچ پی محدود بشه ،ممنون میشم بنده رو راهنمایی کنید با تشکر
  • احسان

    تیر ۲, ۱۳۹۴ at ۱۲:۴۳ ب.ظ
    سلام من یه فرم لاگین نوشتم با عبارات شرطی if-else میخوام چه شرط برقرارشد وچه نشدنتیجه کار با echo درپایین فرمم نمایش داده بشه ولی متاسفانه نتیجه دریک صفحه جدیداجرامیشه ممنون میشم راهنماییم کنید
    • الهه قنبری

      تیر ۱۵, ۱۳۹۴ at ۱۱:۱۱ ق.ظ
      سلام شما احتمالا در قسمت فرم action یک صفحه دیگر را تعریف کرده اید. بهتر است در آن قسمت از # استفاده کنید.
  • وب ایکسو

    اسفند ۱۱, ۱۳۹۴ at ۶:۵۲ ب.ظ
    ممنون مفید بود

پاسخ دهید

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


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.