تبلیغات

دوره H آموزش PHP – درس 5 – ساختار کنترلی (بخش 1)

دوره H آموزش PHP
نوشته شده توسط هادی اکبرزاده

دوره H آموزش PHP
درس 5 – ساختار کنترلی در PHP
بخش اول – شرط در PHP



دوره‌های H
دوره‌ی H، یک دوره‌ی فشرده می‌باشد که برای زبان‌های برنامه‌نویسی مختلفی در نظر گرفته شده است و در آن به صورت خلاصه و مفید، به بیان مهم‌ترین مباحث هر زبان برنامه نویسی پرداخته می‌شود تا بتوان در کوتاه‌ترین زمان ممکن، به پایه‌ای‌ترین موارد یک زبان برنامه نویسی مسلط شد. مطالعه بیشتر و لیست تمامی دروس این دوره ...

برای شروع و ادامه‌ی این درس، ابتدا باید با مفهوم شرط در برنامه‌نویسی آشنا شوید که می‌توانید برای اینکار، مقاله‌ی «مفهوم شرط در برنامه‌نویسی» را مطالعه کنید. سپس در ادامه با فول کده همراه باشید.

دستورات if و else در PHP

شیوه‌ی نوشتن if و else در php به صورت زیر می‌باشد:

در کد بالا، نتیجه‌ی شروط داخل پارانتز باید برابر true باشد تا بدنه‌ی if اجرا شود. و اگر درست نباشد، بدنه‌‍ی else اجرا خواهد شد. و البته فراموش نکنید که می‌توان از if بدون else هم استفاده کرد! به مثال زیر دقت کنید:

حالا اگر سن کاربر که داخل متغیر age می‌باشد، بزرگتر از 18 نباشد، کد داخل بدنه‌ی if اجرا نخواهد شد.

استفاده از else

به مثال زیر دقت کنتید که دو عدد را بررسی کرده و سپس عدد بزرگتر را چاپ می‌کند:

دو عدد یا مخالف هم هستند و یا مساوی که در صورت مخالف بودن نیز یکی کوچکتر و یکی بزرگتر می‌باشد! بنابراین سه حالت وجود دارد که در کد بالا ما بزرگتر را بررسی کرده‌ایم و اگر عدد x از y بزرگتر بود، بنابراین x چاپ شود و اگر نبود، y چاپ شود. همچنین در صورت مساوی بودن برایمان مهم نیست کدام چاپ شود و به خاطر همین در شرط خود تنها بزرگتر را بررسی نکرده‌ایم! بلکه بزرگتر یا مساوی را بررسی کرده‌ایم.

حالا الزامی نیست که کد را باید به صورت بالا نوشت تا کار کند! ما می‌توانیم کد بالا را به شکل دیگری بنویسیم:

در اینجا نوشتیم که اگر x از y کوچکتر بود، بنابراین y عدد بزرگ است و باید چاپ شود! ما این شرط را برعکس بررسی کرده‌ایم! ولی طبیعتا نسبت به شرط قبل، فهم آن کمی گمراه کننده‌تر شده است.

دستور else if

همانطور که در مفهوم شرط در برنامه‌نویسی گفته شد، برای else می‌توان شرط دیگری نوشت! که شکل کلی آن در PHP به صورت زیر است:

و همانطور که باید بدانید، می‌توان elseif هایی را پشت سر هم نوشت. به مثال زیر دقت کنید:

در کد بالا، ما از «if، elseif و else» به صورت یکجا استفاده کرده‌ایم. متغیر «age» که برابر سن می‌باشد، سه حالت «کوچکتر یا مساوی 13»، «بین 13 و 19»، و همچنین «بزرگتر از 18» را بررسی می‌کند! ما در اینجا از اپراتور منطقی AND یا همان && برای بررسی بین 13 تا 19 استفاده کرده‌ایم و گفته‌ایم که «از 13 بزرگتر» و «از 19 کمتر» باشد. در واقع && همان «و» می‌باشد؛ که البته در درس سوم و بخش «اپراتورهای مقایسه»، به این موارد اشاره کرده بودیم.

اگر بدنه‌ی شروط تنها شامل یک دستور باشد! (منظور یک خط نیست و منظور یک دستور است که به ; ختم شود.)، آنگاه می‌توان از { } ها استفاده نکرد. برای مثال: (فرامنوش نکنید که فاصله‌های قبل از echo ها و حتی رفتن به خط بعدی نیز الزامی نبوده و تنها برای مرتب دیده شدن کد برای خودمان می‌باشند و در واقع کامپیوتر این فاصله‌ها را نادیده می‌گیرد.)

دستور switch

همانطور که می‌دانید، دستور switch case برای ساده‌تر کردن برخی از شروط else if که در آن قصد داریم مقادیر مختلف یک متغیر را بررسی کنیم استفاده می‌شود؛ شکل کلی switch در php به صورت زیر می‌باشد:

اجازه دهید یک مثال کاربردی بزنیم. مثلا متغیری داریم که مربوط به شماره‌ی هفته یعنی عددی از یک تا هفت باشد. سپس از روی مقدار عدد، نام روز را چاپ کنیم:

نکاتی که باید به آن‌ها توجه داشته باشید:

  • اگر مقدار متغیر today به جای عدد یک رشته باشد؛ باید در هنگام نوشتن مقدار جلوی case ها، از “” یا ” استفاده کرد.
  • اصلا نیازی نیست که این بررسی‌ها را به صورت مرتب‌شده از یک تا 7 بنویسیم و می‌توانیم نامرتب بنویسیم! فقط نباید یک مقدار بیشتر از یک بار تکرار شود.
  • می‌توانیم داخل هر case از یک { } استفاده کنیم. اگر از آن استفاده نکنیم، متغیرهای تعریف شده در بدنه‌ی آن‌ها در بقیه‌ی case ها نیز اثر خواهند داشت.
    یعنی چه؟! فرض کنید شما داخل مورد 1، مقدار today را به 2 تغییر می‌دهید و در انتهای مورد 1 نیز آن را break نکرده‌اید! بنابراین مورد دوم بررسی شده و درصورت درست بودن اجرا خواهد شد و اگر متغیری در مورد 1 بود باشد، در آن نیز قابل دسترسی خواهد بود. و در واقع این یک قابلیت برای switch است.
  • نوشتن default الزامی نیست.

یک مثال دیگر برای درک بهتر switch:

در اینجا برای «یکشنبه» و «دوشنبه» هیچ چیزی ننوشته‌ایم! بنابراین در این محدوده چه یکشنبه باشد، چه دوشنبه و چه سه‌شنبه، کد داخل سه‌شنبه اجرا خواهد شد! و اینگونه می‌توانید برای چندین case، کد یکسانی بنویسید.



شرط‌های تودرتو
می‌توان داخل بدنه‌ی هر if و else و حتی case  و default از شرطهای دیگری استفاده کرد و یک if و else یا Switch جدیدی نوشت. که به این‌ها شرط‌های تودرتو گفته می‌شود.
درس بعدی (به زودی)درس قبلی
تبلیغات
0
کانال تلگرام فول کده

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

دانشجوی ارشد شبیه ساز هوشمند و مدیر فول کده

پاسخ دهید

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

نظرات ثبت شده بدون دیدگاه