Mohsen
Mohsen
خواندن ۵ دقیقه·۴ سال پیش

آشنایی با شرطها در PHP - بخش اول if else

توی این قسمت از سری آموزشهای صفر تا صد پی اچ پی که میشه قسمت سوم، با مفهوم شرطها آشنا میشید و چندتایی مثال هم در مورد نحوه استفاده ازش میزنم.

بخش اول: مقدمه

بخش دوم: ثابتها

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

اگر حمید بیاد امشب میریم رستوران!
اگر ایران این بازی رو ببره میره جام جهانی.
اگر نسرین و فاطمه نیومدن به جاش زهرا و عاطفه رو جایگزین میکنیم.
اگر شرایط جور باشه 100 میلیون میذارم تو بورس و ...!

پس هر وقت شرایطی پیش بیاد که از بین دو یا چندتا چیز بخوایم یکی رو انتخاب کنیم و یا یک کار رو انجام بدیم باید از شرطها استفاده کنیم.

ساده ترین و متداول ترین نوع شرط، شرطهائی هستند که با if و با تلفظ ایف نوشته میشن به شکل زیر:

<?php

if(شرط) {// کار مورد نظر}

?>

یعنی اول کلمه کلیدی ایف رو مینویسیم، بعد تو پرانتز شرطمون رو مشخص میکنیم و در صورتی که شرط برقرار باشه اون دستورات توی آکولاد {} جلوی ایف اجرا میشه.

مثال: میخوایم شرطی بنویسیم که اگر مقدار متغیرمون برابر با 20 شد کلمه برابر است چاپ بشه. پس کدها به این شکل باید نوشته بشن:

<?php

$number = 20;

if($number == 20) {

echo 'Barabar ast!';

}

?>

برای تست و اجرای کد بالا مثل همیشه برید به سایت sandbox.onlinephpfunctions.com.

توی کد بالا به علامت == میگن اپراتور مقایسه‌ای، و اینجا برای تشخیص مساوی بودن مقدار متغیر number با عدد 20 به کار برده شده. توی پی اچ پی ما چندین مدل اپراتور داریم که لیستشون رو توی ادامه مطلب آوردم و کمی هم توضیح دادم.

دقت کنید من اینا رو اینجا میارم که فقط با شکل و شمایل و کاربردشون بصورت کلی آشنا بشید و نیاز نیست حفظ بشن، ولی ببینیدشون خوبه؛
آینده هرجایی چیز جدیدی گفتم در موردش حتما توضیح میدم.

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

  • اپراتورهای ریاضی، که واضحه و برای عملیاتهای ریاضی مثل جمع و ضرب و تقسیم و ... ازشون استفاده میشه و لیست کاملشون توی عکس پایینه.
  • + برای جمع
  • - برای تفریق
  • * برای ضرب کردن
  • / برای تقسیم
  • % برای محاسبه باقیمانده عدد
  • از اپراتورهای انتسابی مثل مثال و کد بالا، برای مقداردهی و یا تغییر مقادیر استفاده میشه. مثلا علامت = که برای تخصیص مقدار عدد 20 به متغیر $number ازش استفاده شد.
  • اپراتورهای مقایسه ای برای مقایسات استفاده میشه، توی مثال اول عدد 20 رو با مقدار ذخیره شده توی متغیر مقایسه کردیم. لیست کامل اپراتورهای مقایسه ای به شکل زیره:
  • و در نهایت اپراتورهای منطقی که کاربرد خاص خودش رو داره و فعلا ما استفاده ای ازشون نداریم.

خوب، برگردیم سر بحث اصلیمون که میشد استفاده از شرط if else

تو مثال اول گفتیم اگر عدد ذخیره شده توی متغیر number برابر با 20 بود چاپ کن که برابره، حالا اگه برابر نبود چی؟ طبق کد اول هیچ اتفاق دیگه ای نمیفته و چیزی چاپ نمیشه، ولی اگر بخوایم این حالت رو هم در نظر بگیرم و اصطلاحا هَندل کنیم باید از کلمه کلیدی else و با تلفظ اِلس و به معنای در "غیر اینصورت" استفاده بکنیم.

مثال: اگر عدد ذخیره شده کوچکتر از 17 بود جمله کوچکتر است چاپ بشه و در غیر این صورت جمله بزرگتر است.

<?php

$number = 19;

if ($number < 17) echo 'کوچکتر است';

else echo 'بزرگتر است';

?>

واضح بود؟ اینجا ما از یه اپراتور ریاضی یعنی علامت > استفاده کردیم برای تشخیص کوچک بودن عدد.
نکته: وقتی که بعد از شرط جلوی ایف فقط یه خط کد بنویسیم، نیاز به نوشتن آکولاد باز و بسته نداریم {}. ولی اگر تعداد خطوط کدها بیشتر شد باید اونا رو وسط {} بذاریم. برای بعد از کلمه else هم همین شکلیه.

مثال دوم: میخوایم برنامه ای بنویسیم که اگه عدد ذخیره شده توی متغیر بر 2 بخش پذیر بود اینو بهمون اعلام کنه و اگر نبود هم بگه که نیست!

  • برای تشخیص اینکه بفهمیم عددی بر 2 بخش پذیره یا نه، باید چک کنیم ببینیم باقیمانده تقسیم اون عدد روی 2 عدد صفر میشه یا نه. مثلا 4 تقسیم به 2 جوابش میشه 2 و باقیمانده هم میشه صفر پس بخش‌پذیره. حالا کداش چطوریه؟

<?php

$number = 6;

if($number % 2 == 0) echo 'بر 2 بخش پذیر است';

else echo 'بخش پذیر نیست';

?>

تو کد بالا از اپراتور % استفاده شد که برای گرفتن باقیمانده تقسیم دوتا عدد ازش استفاده میشه؛ اسمش هم اصطلاحا میگن ماد (Modulus).

فرقش با اپراتور تقسیم / یا اِسلش اینه که اسلش، عدد خروجی تقسیم رو بهمون میده، ولی % باقیمانده رو برمیگردونه؛ یعنی اگر بنویسیم 8/4 خروجی ما میشه 2 ولی اگر بنویسیم 8%2 خروجی ما میشه 0.

نکته مهم: زبانهای برنامه نویسی مثل php از سمت چپ به راست مسائل ریاضی رو حل میکنن. پس تو کد بالا، اول باقیمانده عدد 6 تقسیم بر 2 با استفاده از اپراتور % به دست میاد و بعد باقیمانده با 0 توسط == مقایسه میشه و اگر همه چی درست بود خروجی رو نشون میده که میگه بخشپذیره.

تکمیل شرط نویسی و استفاده از elseif

اگر خسته نشدین این قسمت رو هم بخونید ولی اگه میبینید دارید گیج میشید، فعلا تا قبل از اینجا رو تمرین کنید و بعد برگردید از اینجا به بعد رو ادامه بدین.

بعضی وقتهای توی کدنویسی شراطی پیش میاد که بجای یه شرط باید چندتا شرط رو چک بکنیم.

مثلا میخوایم بگیم اگه عدد توی متغیر از 17 کوچکتره، بگو کوچکتر است، اگر برابر با 19 شد بگو برابره و در غیر اینصورت بگو بزرگتره. تو این حالت باید از کلمه کلیدی elseif و با تلفظ اِلس‌ایف استفاده بکنیم. در تکمیل مثال بالا:

<?php

$number = 19;

if ($number < 17) echo 'کوچکتر است';

if ($number == 19) echo 'برابر است';

else echo 'بزرگتر است';

?>

خروجی کد بالا شرط دوم یعنی برابریه.

حالا یه مثال دیگه؛ میخوایم کد بالا رو تکمیلتر کنیم و 0 بودن هم چک بشه.

<?php

$number = 19;

if ($number == 0) echo 'صفر است';

elseif ($number < 17) echo 'کوچکتر است';

elseif ($number == 19) echo 'برابر است';

else echo 'بزرگتر است';

?>

نکته خیلی مهم: موقعی که از if و elseif استفاده میکنیم، شرطها به ترتیب و از بالا به پایین بررسی و اجرا میشن؛ پس به محض اینکه هر کدوم از شرطها برقرار شد، بقیه شروط اجرا نمیشن و نادیده گرفته میشن. پس در کد بالا شرط == 19 که اجرا شد دیگه سراغ قسمت else نمیره؛

کلیدواژه else برای مواقعی استفاده میشه که هیچکدوم از شروطی که نوشتیم برقرار نشه. و میتونیم کلا هم ننویسمش یعنی اختیاریه.

خوب امیدوارم که یاد گرفته باشید؛ البته احتمالا یه مقداری هم گُنگ بوده باشه براتون؛ پس اگه مشکل و سوالی داشتین همینجا کامنت بذارید تا راهنمائی کنم.

بازم مثل همیشه، تمرین، تمرین و تمرین یادتون نره تا خوب یاد بگیرید و ملکه ذهنتون بشه!
آموزش phpشرطها در پی اچ پیبرنامه نویسیآموزش کدنویسیآموزش برنامه نویسی پی اچ پی
یه برنامه نویس وب که شدید علاقه داره به یادگیری بیشتر توی زمینه کاریش و مسائل مرتبط با آی.تی و تکنولوژی :))
شاید از این پست‌ها خوشتان بیاید