دستور های شرطی : switch در php

منتشر شده در 12 نوامبر 2019 آخرین به روز رسانی در 04 دسامبر 2020
مهندس محسن صادق نژاد
2249 0
حلقه ها در php

این پست با مسیر متخصص php مرتبط است. مشاهده مسیر (Roadmap)

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

مقدمه

در آموزش قبل با دستور شرطی if برنامه ای نوشتیم که، اگر در روز جمعه قرار داشتیم جمله ی “آدینه بخیر” و در غیر این صورت جمله ی “موفق باشید” را به ما نشان می داد، سپس با دستور شرطی elseif برنامه را توسعه داده و برای روز های پنج شنبه جمله ی “آخر هفته ی خوبی داشته باشید ” را در نظر گرفتیم. ( توصیه می کنیم اگر آموزش دستور شرطی if را نخواندید اینجا کلیک کنید )

کد های نهایی برنامه به صورت زیر است :

<?php 
  $today = date('D');
  if($today == "fri"){
    echo 'آدینه بخیر';
  }
  elseif($today == "thu"){
    echo 'آخر هفته ی خوبی داشته باشید';
  }
  else{
    echo 'موفق باشید';
  }
?>

حال اگر بخواهیم، برای هر روز یک جمله ی متفاوت در نظر بگیریم باید چه کار کنیم؟

برای پاسخ به سوال بالا دو راه خواهیم داشت :
1- دستور if و elseif را 6 بار تکرار کنیم.
2- از دستور switch استفاده کنیم.

نحوه ی نوشتن دستور switch در php

در واقع دستور switch شباهت بسیاری با elseif دارد؛ این دستور همانند if…elseif…else به جهت انتخاب یک دستور از بین چند دستور استفاده می‌شود. در switch یک حالت default یا پیش‌ فرض وجود دارد که اگر هیچکدام از مقادیر درست نبود، آن قسمت اجرا بشود. از کلمه کلیدی case بجای ifelse  استفاده می‌کنیم و حالات مختلف شرط را در جلوی آن می‌نویسیم سپس علامت ” : ” می‌گذاریم.

به مثال زیر توجه کنید :

مثال دستور switch
مثال دستور switch

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

به پایان آموزش جذاب “دستور switch در php” رسیدیم. چنانچه ابهام و اشکال داشتید، می توانید به بخش کامنت مراجعه کنید و اشکال خود را مطرح کنید.