آموزش PHP (بخش چهارم) عملگرها



visibility  
mode_comment   ۱۸

در این فصل شما را با عملگرها در php آشنا خواهم ساخت ، عملگرها یک نماد هستند که یک عمل خاصی را در یک عبارت انجام می دهند ، شما با  بسیاری از عملگرها آشنا هستید و آن ها را از اول دوره دبستان خود فراگرفته اید همانند عملگرد جمع (+) و تفریق (-).

در ابتدا شما را با انواع عملگرها آشنا خواهم سپس به تقدم عملگرها خواهیم پرداخت :

1) عملگرهای محاسباتی :

این نوع عملگرها کار ریاضی را بر عهده دارند و خوشبختانه استفاده از آن ها بسیار آسان است در حد دوره دبستان :

عملگرد نام توضیح مثال خروجی
x + y جمع جمع x  و y 2 + 2 4
x - y تفریق تفریق x و y 5 - 2 3
x * y ضرب ضرب x و y 5 * 2 10
x / y تقسیم تقسیم x بر y 15 / 5 3
x % y باقیمانده به دست آوردن باقیمانده 5 % 2 10 % 8 10 % 2 1 2 0
- x منفی عدد منفی - 2
a . b الحاقی الحاق کردن دو رشته "Hi" . "Ha" HiHa

2) عملگردهای نسبت دهی :

این عملگرها ، مقداری را به یک متغیر نسبت می دهند :

عملگر معادل با توضیح
x = y x = y x را برابر با y قرار می دهد.
x += y x = x + y x برابر با مقدار خود به علاوه y می شود.
x -= y x = x - y x برابر با مقدار خود به منهای y می شود.
x *= y x = x * y x برابر با مقدار خود ضربدر y می شود.
x /= y x = x / y x برابر با مقدار خود تقسیم بر y می شود.
x %= y x = x % y x برابر با مقدار خود و باقیمانده با y می شود.
a .= b a = a . b دو رشته را الحاق می کند

3) عملگرهای افزایشی و کاهشی :

عملگر نام توضیح
++ x افزایشی یک واحد به x اضافه می شود.
x ++ افزایشی در ابتدا x بر می گردد سپس اضافه می شود
-- x کاهشی x کاهش یافته ، سپس بر می گردد
x -- کاهشی x بر می گردد سپس کاهش پیدا می کند

info نکته :

امیدوارم متوجه شده باشید که تفاوت x++  و ++x در چیست ، اگر متوجه نشده اید به مثال زیر خوب دقت نمائید :

در کد فوق ، در ابتدا یک واحد به متغیر x اضافه می شود  و مقدار در  y قرار می گیرد یعنی y برابر با 11 خواهد شد.

اما مثال زیر را هم ببینید :

در کد بالا ، مقدار فعلی x در y قرار می گیرد (یعنی مقدار 10) و سپس یک واحد به x اضافه می شود و در این قسمت x برابر می شود با 11.

حال برای آشنایی بیشتر به مثال زیر توجه نمائید :

در کد بالا ، در ابتدا مقدار x یک واحد افزایش پیدا می کند و به علاوه مقدار فعلی y می شود (یعنی 15) و در متغیر m مقدار 26 قرار می گیرد و مقدار خود y برابر با 16 می شود.

4) عملگرهای مقایسه ای :

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

عملگر نام توضیح مثال
x == y شرط برابر اگر x با y برابر بود 5==8 returns false
x === y یکسان بودن اگر x با y برابر بود و همچنین دارای نوع یکسانی بودند. 5==="5" returns false
x != y نا مساوی اگر x نامساوی y باشد 5!=8 returns true
x <> y نا مساوی اگر x نامساوی y باشد 5<>8 returns true
x !== y نا مساوی اگر x با y برابر نبود و همچنین دارای نوع یکسانی نودند. 5!=="5" returns true
x > y بزرگتر اگر x بزگرتر بود 5>8 returns false
x < y کوچکتر اگر y بزرگتر بود 5<8 returns true
x >= y بزرگتر مساوی اگر x بزرگتر مساوی y بود 5>=8 returns false
x <= y کوچکتر مساوی اگر x کوچکتر مساوی y بود 5<=8 returns true

5) عملگرهای منطقی :

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

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

در این جا ، خروجی ما دو مورد است :

  1. فایل milad.txt وجود دارد.
  2. اگر وجود نداشته باشد ، پیغام اخطار File Not Found ظاهر می شود.
عملگر نام توضیح مثال
x and y And اگر هر دو صحیح باشند ، این عبارت صحیح است و گرنه حتی اگر یکی از آن ها صحیح باشد خروجی false می شود x=6 y=3 (x < 10 and y > 1) returns true
x or y Or اگر حداقل یکی از دو متغیر صحیح باشد نتبجه true است ، در غیر اینصورت false است x=6 y=3 (x==6 or y==5) returns true
x xor y Xor اگر تنها x یا فقط y صحیح باشد ، مقدار true می شود x=6 y=3 (x==6 xor y==3) returns false
x && y And اگر هر دو صحیح باشند ، این عبارت صحیح است و گرنه حتی اگر یکی از آن ها صحیح باشد خروجی false می شود x=6 y=3 (x < 10 && y > 1) returns true
x || y Or اگر حداقل یکی از دو متغیر صحیح باشد نتبجه true است ، در غیر اینصورت false است x=6 y=3 (x==5 || y==5) returns false
! x Not اگر x صحیح نباشد ، عبارت true می شود x=6 y=3 !(x==y) returns true

info نکته :

سعی کنید با عملگرها به خوبی آشنا شوید ، در ابتدا شاید فکر کنید حفظ کردن این عملگرها بسیار کار سختی است ، اما اگر شما همت و تلاش را پیشی بگیرید و بسیار تمرین کنید ، دیگر نیازی به حفظ کردن این عملگرها ندارید چون خود به خود ملکه ذهن شما خواهند شد. البته باید شانس بیاورید این عملگرها را در کنکور ندهند ، که اگر بدهند داستان درازی ست برای خودش.

استفاده از عملگر سه گانه :

عملگرهای سه گانه با علامت سوال (؟) مشخص می شوند روش استفاده از این عملگر بدین صورت می باشد :

این شرط چک می کند که اگر سن شما بزرگتر از 15 سال بود مقدار متغیر compare را برابر با young قرار می دهد در غیر اینصورت مقدار متغیر برابر با child می شود.

تقدم عملگرها :

تقدم عملگرها در تمام زبان های برنامه نویسی چه سیستمی چه تحت وب بسیار مهم هستند و شما باید ترتیب این عملگرها را به خاطر داشته باشید ، جدول زیر ترتیب عملگرها را در php به نمایش درآورده است :

عملگرد نام
 new  ایجاد یک نمونه شی (شی گرائیی)
 ( )  پرانتز
 [ ]  شاخص گذاری
 ! ++ --  عملگر نه! افزایشی و کاهشی
 @  توقف خطا
 / * %  ضرب و تقسیم و باقیمانده
 + - .  جمع و تفریق و عملگر الحاقی
 < <= >= >  کوچکتر مساوی ، بزرگتر مساوی ،
 == != === <>  نامساوی و...
 || &&   عملگر AND و OR
 ?:  عملگر سه گانه
 AND XOR OR  عملگرهای منطقی
 ,  جدا کننده

مثال :

به نظر شما خروجی فوق چیست ؟

فکر می کنید که در خروجی چه مقداری چاپ می شود ، اگر گفته اید 72 ، کاملا در اشتباه قرار دارید ، مگر عملگر ضرب تقدم بیشتری نسبت به جمع ندارد؟؟؟ در ابتدا ، 7 ضربدر 6 می شود و سپس به علاوه 5 می شود ، پس خروجی برابر با 47 می باشد.

مثالی دیگر :

حال خروچی چیست ؟؟؟ اگر در ابتدا متغیر x به علاوه y شود و حاصل آن بر 2 تقسیم شود و نتیجه آن ضرب شود ، حاصل 24 می شود ، یا اینکه اگر ابتدا y تقسیم بر 2 شوید وحاصل آن با x جمع شود و نتیجه آن در 3 ضرب شود ، حال آن 33 خواهد بود و... اما اگر این کد را در xampp ایجاد کرده باشید خروجی به شما عدد 21 را نمایش می دهد ، چرا؟؟؟

در ابتدا y تقسیم بر 2 می شود ، سپس 5 ضربدر 3 می شود و سپس حاصل به علاوه 6 می شود.

در این قسمت شما را با عملگرها آشنا ساختیم ، در قسمت بعد دوباره سری به قسمت اصول اسکریپت نویسی در php خواهیم زد.

متخصص PHP
اگر دوست داری برنامه نویسی PHP رو حرفه ای یاد بگیری آیا می دانید بیش از ۸۰% وب سایت های موجود در ایران از جمله لیدرهای بازار وب (اسنپ، اسنپ فود، نت برگ، دیجیکالا، الوپیک و ... ) زبان برنامه نویسی PHP را به عنوان زبان اصلی برای پیاده سازی امکانات سمت سرور خود انتخاب کردند! متخصص PHP arrow_back
comment دیدگاه کاربران
علی حیدری

😳 😳 😳 😳 😳 😳 😳 😳 😳 😆 😆 😆 😆 😆 😆

hatyla

سلام
ممنون از زحماتتون.من سخت پیگیر آموزشهاتون و مشتاق یادگیری هستم
باتشکر

M.M.M

سلام.مطالب شما خیلی خوبن، ینی منم وبسایت آموزشی طراحی وب دارم، و تازگیا یه بخشه planet یا همون سیاره تاسیس کردم، درسته خالیه ولی میخوام با همکاری شما و چند تا دیگه از وبسایتای طراحی وب پرش کنم، اساس کار هم اینه که شما فیدتون رو توی وبسایت ثبت می کنید، و بعدشم خلاصه ی مطالب شما و بقیه ی دوستان اونجا با بروز شدن سایت ها ثبت میشه و کسانی که علاقه به مطالعه درباره ی طراحی وب دارن، میتونن مطالب رو خلاصه اونجا بخونن و اگه دوست داشتن، روی لینک مطلب کلیک کنن و به وبسایتی که مطلب رو گذاشته بیان. این شکلی هم کار برای مشتاقان طراحی وب راحت میشه و هم به بازدید وبسایت های درباره ی طراحی وب کمک میشه.
نمونه ی یکی از این وبسایتا هم اینجا هست که البته من نساختمش:
planet.sito.ir
سیاره ی طراحی وب هم آدرسش اینه:
planet.persiatut.com
ممنون میشم با ما همکاری کنید.

علی حیدری

سلام داش میلاد و اقا آوند.داداشای گل رفیقای باحال خیلی سایتتون تعریف داره خیلی.همین الان اون قسمت حمایت مالی رو دیدم.واقعا خیلی بیشتر از اینا ارزششو داره.من که حمایتو کردم انشاالله هدف اینکه بهترین سایت دنیا و ایران بشید.در ضمن سایت کاملا قابلیت پذیرش تبلیغو داره ها…از ما گفتن. فعلا عزت زیاد.

میلاد حیدری

سلام ، شما لطف دارید ، از طرف خودم و آقای آوند تشکر میکنم

ali.h

بازم سلام.بابا ما بدجور پابند این سایت شدیم. 🙄 نوید جون مبخاستم ببینم من چجوری میتونم با او در تماس باشم…اگه میشه ایمیلتو بهم بگو مرسییییییییییییییییییییی.اخه ی چنتایی سوال دارم مربوط ب این بخش نمیشه میخام اونجا ازت بپرسم البته اگرپایه ای و مثل همیشه حال میدی. 😳 😳

میلاد حیدری

ببخشید من نوید رو نمی شناسم!!!

ali.h

بابا میلاد اشتباه املایی/لپی/اوایی و …. پیش اومد با خدتم آق میلاد

میلاد حیدری

mr.heydari[at]hotmail.com

hosein2398

به خدا شرمنده میکنین این همه زحمت میکشین! ما هم قول میدیم دانش آموز های خوبی باشیم 😳

ali abc

سلام اساتید محترم
به یه مشکلی برخوردم،ما با دانشی که شما در اختیار ما گذاشتید و خودمون از منابع دیگر بدست آوردیم:
یک کدی نوشته ایم اما یه ایرادی داره
من یه مقداری رو بصورت رندم میدم و کاربر هم داخل تکست باکس اون تاپی کنه..اگر اونها برابر بود….چاپ کنه خوب در غیراینصورت چاپ کنه :بد!
اما این کد من اگر بهش مقدار دادیم چاپ می کنه خوب و اگر ندادیم مینویسه بد!یه ایرادی وجود داره…اگر راهنمایی کنی ممنون میشم
کد هم اینهاست:

میلاد حیدری

سلام دوست عزیز ، کد زیر رو برات نوشتم امتحانش کن حتما بهم خبر بده

ali abc

salam ..are javab dad..dastet dard nakone
tnx bro

دكتر امين

سلام میلاد جان مشکل قبلیم با کدی که گفتی حل شد
اما یه سوال دیگه:
من مثلا یه متغییر با نام $a در یک صفحه دارم با آدرس chat.php?a=20 دارم و میخوام این مقدار رو در یه صفحه نمایش بدم،چطور می تونم مقدار $a رو در این صفحه بدست بیارم؟
از دستورinclude_once و require_once استفاده کردم ولی متاسفانه کامل محتوای صفحه ی درخواست شده رو نشون میدن،من میخوام هر اطلاعاتی رو که خواستم نشون بدن،نه کل صفحه!!!

ممنون میلاد جان

میلاد حیدری

سلام با تشکر فراوان از شما

لطفا به آدرس ایمیل زیر ارسال نمائید :

mr.heydari[at][hotmail].com

HappyMoon

البته فکر می‌کنم داخل عملگرهای افزایشی و کاهشی –x و x– باشه. یعنی دوتا علامت – ❓ ❗

مجید

سلام
من میخوام تو یه پیج 2تا تکست باکس و 2تا باتن بزارم و از طریق متد پست فرم تو یه صفحه ی دیگه جواب نشان داده بشه،یه باتن مثلاً جمه را انجام بده و اون یکی تفریق.
با تشکر

ehsan

سلام آقا میلاد
من تازه با برنامه نویسی آشنا شدم و خیلی آماتور هستم
میشه لظف کنید و بگید چجوری جدول ضرب رو بنویسم
ممنون 😥

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.