فهرست محتوا
اپراتورها در PHP یا همان عملگرهای PHP کاراکترهایی هستند که برای انجام عملیات خاصی بر روی عملوند ها (Operand) استفاده می شوند. به عبارتی عملگرها ابزاری برای اجرای یک عملیات خاص بر روی متغیرها یا مقادیر هستند.
برای مثال اپراتور جمع برای جمع دو مقدار استفاده می شود:
$num=15+20;//+ is the operator and 15,20are operands
در مثال بالا، اپراتور + یک اپراتور باینری است. به عبارتی اپراتور باینری به اپراتوری گفته می شود که به دو عملوند نیاز داشته باشد. این اپراتور دو مقدار سمت راست و چپ خود را با هم جمع نموده و برگشت می دهد.
اگه بخواهیم اپراتورهای PHP رو دسته بندی کنیم می تونیم اینطور بگیم که:
- اپراتورهای محاسباتی : Arithmetic Operators
- اپراتورهای تخصیص : Assignment Operators
- اپراتورهای بیتی : Bitwise Operators
- اپراتورهای مقایسه ای : Comparison Operators
- اپراتورهای افزایشی و کاهشی : Incrementing/Decrementing Operators
- اپراتورهای منطقی : Logical Operators
- اپراتورهای رشته ای : String Operators
- اپراتورهای آرایه ای : Array Operators
- اپراتورهای نوع : Type Operators
- اپراتورهای اجرایی : Execution Operators
- اپراتورهای کنترل خطا : Error Control Operators
در ادامه به معرفی این انواع اپراتور در PHP خواهیم پرداخت.
از طرفی می توان بر اساس تعداد عملوند مورد نیاز، اپراتورهای PHP را به سه دسته کلی تقسیم کرد:
- اپراتورهای یوناری (Unary) یا واحد : اپراتورهایی که به یک عملوند نیاز دارند، مثل اپراتور
++
و--
و امثال آن ها - اپراتورهای باینری (Binary) یا دوتایی : اپراتورهایی که به دو عملوند نیاز دارند همچون
+
،-
،*
و … - اپراتورهای ترناری (Ternary) یا سه گانه : اپراتورهایی که بر روی 3 عملوند عمل می کنند همچون اپراتور
؟:
اپراتورهای محاسباتی Arithmetic Operators در PHP
عملگرهای محاسباتی PHP برای انجام عملیاتی محاسباتی (ریاضیاتی) همچون جمع، تفریق، ضرب و امثال آن بر روی مقادیر عددی استفاده می شوند.
در جدول زیر، لیستی از اپراتورهای محاسباتی در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
+ | جمع | $a + $b | جمع دو مقدار |
- | تفریق | $a - $b | تفریق دو مقدار |
* | ضرب | $a * $b | ضرب دو مقدار |
/ | تقسیم | $a / $b | تقسیم دو مقدار |
% | باقی مانده | $a % $b | محاسبه باقی مانده تقسیم یک عدد بر عددی دیگر |
** | توان | $a ** $b | محاسبه یک (a) عدد به توان عددی دیگر (b) |
اپراتورهای تخصیص Assignment Operators در PHP
عملگرهای انتساب برای تخصیص یک مقدار در یک متغیر استفاده می شوند. اصلی ترین عملگر انتساب =
است. این عملگر نتیجه هر چه در سمت راست آن قرار دارد را در متغیر سمت چپ خود میریزد.
در جدول زیر، لیستی از اپراتورهای تخصیص در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
= | تخصص | $a=$b | مقدار b را در a ذخیره میکند |
+= | جمع و تخصص | $a+=$b | ابتدا مقدار a را با b جمع و سپس در a ذخیره میکند |
-= | تفریق و تخصص | $a-=$b | ابتدا مقدار a را از b کم و سپس در a ذخیره میکند |
*= | ضرب و تخصص | $a*=$b | ابتدا مقدار a را در b ضرب و سپس در a ذخیره میکند |
/= | تقسیم و تخصص | $a/=$b | ابتدا مقدار a را بر b تقسیم و سپس در a ذخیره میکند |
%= | باقی مانده و تخصص | $a%=$b | ابتدا a را برb جمعتقسیم و سپس باقی مانده را در a ذخیره میکند |
اپراتورهای بیتی Bitwise Operators در PHP
عملگرهای بیتی برای انجام عملیات در سطح بیت (bit) بر روی عملوند ها استفاده می شود. به عبارتی مقادیر را به معادل باینری (مبنای 2 یعنی صفر و 1) تبدیل و سپس بیت به بیت عملوند را اجرا می کنند.
در جدول زیر، لیستی از اپراتورهای بیتی در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
& | AND | $a&$b | بیت به بیت a و b مقایسه و به نوعی در هم ضرب می شوند. اگر هر دو بیت معادل 1 بود نتیجه 1 می شود در غیراین صورت نتیجه 0 است. |
| | Or (Inclusive or) | $a|$b | بیت به بیت a و b مقایسه و به نوعی با هم جمع می شوند. اگر هر دو بیت معادل 0 بود نتیجه 0 می شود در غیراین صورت نتیجه 1 است. |
^ | Xor (Exclusive or) | $a^$b | بیت به بیت a و b مقایسه می شوند.اگر هر دو بیت مشابه بود خروجی صفر در غیر اینصورت 1 است. |
~ | Not | ~$b | اپراتور واحد است. بیت به بیت a را بررسی کرده و 0 ها را به 1 و 1 ها را به 0 تبدیل می کند. |
<< | Shift left | $a | شیفت بیت ها در a به اندازه b مرتبه به سمت چپ |
>> | Shift right | $a | شیفت بیت ها در a به اندازه b مرتبه به سمت راست |
در تصویر زیر به صورت شماتیک می توانید عملکرد این اپراتورها را ببینید:
اپراتورهای مقایسه ای Comparison Operators در PHP
عملگرهای مقایسه ای در PHP جهت مقایسه دو عدد یا رشته یا مقدار به کار می رود. مقدار بازگشتی روابط مقایسه ای همواره مقداری بولین است. یعنی یا True باز میگردد یا False.
در جدول زیر، لیستی از اپراتورهای مقایسه ای در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
== | برابری | $a==$b | اگر دو مقدار برابر باشند خروجی True است |
=== | همسانی (برابری در نوع و مقدار) | $a===$b | اگر دو مقدار از یک نوع و از نظر مقدار برابر باشند خروجی True است |
!== | ناهمسانی (عدم برابری در نوع و مقدار) | $a!==$b | اگر دو مقدار نه نوع برابر و نه مقدار برابر داشته باشند خروجی True است |
!= | نابرابری |
| اگر دو مقدار برابر نباشند خروجی True است. |
<> | نابرابری | $a | اگر دو مقدار برابر نباشند خروجی True است. |
< | کوچتر از | $a | اگر مقدار a کمتر از b باشند، خروجی True است. |
> | بزرگتر از | $a | اگر مقدار a بیشتر از b باشند، خروجی True است. |
<= | کوچکتر مساوی | $a<=$b | اگر مقدار a کمتر از b یا برابر با آن باشند، خروجی True است. |
>= | بزرگتر مساوی | $a>=b | اگر مقدار a بیشتر از b یا برابر با آن باشند، خروجی True است. |
<=> | سفینه فضایی! | $a<=>$b | اگر a از b کمتر بود، خروجی -1 است.اگر a از b بیشتر بود، خروجی 1 است.اگر a برابر با b بود، خروجی 0 است. |
اپراتورهای افزایشی و کاهشی Incrementing/Decrementing Operators در PHP
عملگرهای افزایشی / کاهشی برای افزایش / کاهش یک واحد از یک متغیر به کار می روند.
در جدول زیر، لیستی از اپراتورهای افزایشی / کاهشی در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
++ | افزایش | ++$a | مقدار a را یک واحد افزایش می دهد و سپس مقدار a را بر میگرداند |
++ | افزایش | $a++ | ابتدا مقدار a برگشت داده شده و سپس یک واحد به a افزوده می شود |
-- | کاهش | –
| مقدار a را یک واحد کاهش می دهد و سپس مقدار a را بر میگرداند |
-- | کاهش | $a-- | ابتدا مقدار a برگشت داده شده و سپس یک واحد از a کم می شود |
اپراتورهای منطقی : Logical Operators
عملگرهای منطقی برای انجام عملیات در سطح بیت بر روی دو مقدار بولین روی عملوند ها استفاده می شوند.
در جدول زیر، لیستی از اپراتورهای منطقی در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
and | And | $a and $b | فقط زمانی مقدار برگشتی True است که هر دو True باشند |
or | Or | $a or $b | اگر حداقل یکی از دو مقدار True باشد خروجی True است |
xor | Xor | $a xor $b | تنها زمانی خروجی True است که فقط یکی از این دو True باشد |
! | Not | ! $a | اگر True باشد خروجی False است و بالعکس |
&& | And | $a && $b | فقط زمانی مقدار برگشتی True است که هر دو True باشند |
|| | Or | $a || $b | اگر حداقل یکی از دو مقدار True باشد خروجی True است |
اپراتورهای رشته ای String Operators در PHP
عملگرهای رشته ای برای انجام عملیات روی رشته ها استفاده می شوند. دو عملگر رشته ای در PHP وجود دارد که در جدول زیر آورده شده است:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
. | الحاق (چسباندن) | $a . $b | رشته b را به انتهای رشته a چسبانده و رشته ای مشتکل از این دو رشته برمیگرداند |
.= | الحاق و تخصیص | $a .= $b | دو رشته را چسبانده و مجددا در رشته a ذخیره می کند |
اپراتورهای آرایه ای Array Operators در PHP
عملگرهای آرایه ای برای ایجاد عملیات روی آرایه ها کاربرد دارد. اساساً از این عملگرها برای مقایسه مقادیر آرایه ها استفاده می شود.
در جدول زیر، لیستی از اپراتورهای آرایه ای در PHP را مشاهده می کنید:
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
+ | اتحاد (اتصال) | $a + $b | دو آرایه را الحاق می کند. آرایه جدید حاوی اعضای آرایه a و سپس آرایه b است |
== | برابری | $a == $b | اگر اعضای هر دو آرایه برابر باشد مقدار True بر میگرداند |
!= | نابرابری | $a != $b | اگر اعضای هر دو آرایه برابر نباشد مقدار True بر میگرداند |
=== | همسانی | $a === $b | اگر اعضای هر دو آرایه به ترتیب هم در مقدار و هم در نوع برابر باشد مقدار True بر میگرداند |
!== | ناهمسانی | $a !== $b | اگر اعضای هر دو آرایه به ترتیب نه در مقدار و نه در نوع برابر نباشد مقدار True بر میگرداند |
<> | نابرابری | $a <> $b | اگر اعضای هر دو آرایه برابر نباشد مقدار True بر میگرداند |
اپراتورهای نوع Type Operators در PHP
اپراتور نوع instanceof یک اپراتور پرکاربرد است. با استفاده از این اپراتور می توانیم تعیین کنیم که یک شی یا پدر آن یا کلاس های مشتق شده از آن، از یک نوع هستند یا خیر.
اساسا این عملگر تعیین میکنه که یک شی از کدام کلاس خاص است و در برنامه نویسی شی گرا استفاده می شود.
به مثال زیر توجه کنید:
<?php //class declaration class Developer {} class Programmer {} //creating an object of type Developer $charu = new Developer(); //testing the type of object if( $charu instanceof Developer) { echo "Charu is a developer."; } else { echo "Charu is a programmer."; } echo "</br>"; var_dump($charu instanceof Developer); //It will return true. var_dump($charu instanceof Programmer); //It will return false. ?>
خروجی:
Charu is a developer.
bool(true) bool(false)
اپراتورهای اجرایی Execution Operators در PHP
PHP دارای یک اپراتور اجرایی به نام backticks(``)
است. PHP محتوای بک تیک ها را به عنوان دستور Shell Command اجرا میکنه. اپراتور اجرایی و shell_exex()
نتیجه یکسانی را برگشت می دهند.
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
“ | بک تیک Backticks | echo `dir`; | دستور shell را اجرا می کند و نتیجه را برمیگرداند. در اینجا، دایرکتوری های موجود در پوشه فعلی را نشان می دهد. |
نکته مهم: بک تیک (“) با سینگل کوتیشن (”) تفاوت دارد و با هم اشتباه نگیرید. برای ایجاد بک تیک زبان سیستم را روی EN قرار دهید و بر روی دکمه زیر Esc (دکمه بالای Tab و کنار ! کلیک کنید).
اپراتورهای کنترل خطا Error Control Operators در PHP
PHP دارای یک عملگر کنترل خطا با نام @ است. هر زمانی که به همراه یک عبارت از این سمبل استفاده کنید، هر پیامی خطایی که ممکن باشد توسط آن عبارت تولید شود، نادیده گرفته می شود!
اپراتور | نام | مثال | توضیحات |
---|---|---|---|
@ | اَت at | @file ('non_existent_file') | خطای عمدی فایل |
حق تقدم (اولویت) اپراتورها در PHP
اپراتورهای مختلف دارای حق تقدم یا اولویت در اجرای متفاوتی هستند که در جدول زیر می بینید:
اپراتور | اطلاعات تکمیلی | جهت اجرا |
---|---|---|
clone new | clone و new | جهت خاصی نداره |
[ | array() | چپ |
** | محاسباتی | راست |
++ -- ~ (int) (float) (string) (array) (object) (bool) @ | افزایش و کاهش و انواع | راست |
instanceof | انواع | جهت خاصی نداره |
! | منطقی (نفی) | راست |
* / % | محاسباتی | چپ |
+ - . | محاسباتی، رشته ای و الحاق | چپ |
<< >> | بیتی (shift) | چپ |
< <= > >= | مقایسه ای | جهت خاصی نداره |
== != === !== <> | مقایسه ای | جهت خاصی نداره |
& | بیتی (AND) | چپ |
^ | بیتی (XOR) | چپ |
| | بیتی (OR) | چپ |
&& | منطقی(AND) | چپ |
|| | منطقی(OR) | چپ |
?: | سه گانه | چپ |
= += -= *= **= /= .= %= &= |= ^= <<= >>= => | تخصیص | راست |
and | منطقی | چپ |
xor | منطقی | چپ |
or | منطقی | چپ |
, | استفاده های متنوع داره (کاما) | چپ |
خوب آموزش انواع اپراتور در PHP هم به اتمام رسید.
آموزش قبلی: انواع داده در PHP
آموزش بعدی: کامنت نویسی در PHP با 3 روش