عملگرها
- عملگر به کاراکترهایی گفته می شود که برای انجام یک عمل روی متغیرها و مقادیر آنها بکار میروند
- مثال
+ یک عملگر برای جمع زدن مقدار دو متغیر است
انواع عملگرها
- عملگرهای حسابی
- عملگرهای افزایشی و کاهشی
- عملگرهای مقایسه ای
- عملگرهای منطقی
- عملگرهای انتساب
عملگرهای حسابی
- عملگرهایی که برای محاسبات ریاضی استفاده میشوند
| عملگر |
نام عملگر |
توضیح |
مثال |
نتیجه مثال |
+ |
جمع |
دو مقدار را با هم جمع میکند |
x = 5 + 3 |
x = 8 |
- |
تفریق |
مقدار دوم را از اولی کم میکند |
x = 5 - 3 |
x = 2 |
* |
ضرب |
دو مقدار را در هم ضرب میکند |
x = 5 * 3 |
x = 15 |
/ |
تقسیم |
مقدار اول را بر دومی تقسیم میکند |
x = 6 / 3 |
x = 2 |
% |
باقیمانده تقسیم (مدول) |
باقیماندهی تقسیم دو عدد را برمیگرداند |
x = 7 % 3 |
x = 1 |
عملگرهای افزایشی و کاهشی
- این عملگرها برای اضافه کردن و کم کردن یک مقدار برای متغیر استفاده میشود
- در برنامه نویسی نیاز پیدا میکنیم در هر مرحله از تکرار یک فرایند مقدار متغیر یک واحد تغییر کند
| عملگر |
نام |
توضیح |
مثال |
نتیجه مثال |
++x |
افزایش پیشوندی |
مقدار را قبل از استفاده یک واحد زیاد میکند |
اگر x = 5 , y = ++x → x = 6, y = 6 |
|
x++ |
افزایش پسوندی |
مقدار را بعد از استفاده یک واحد زیاد میکند |
اگر x = 5 , y = x++ → x = 6, y = 5 |
|
--x |
کاهش پیشوندی |
مقدار را قبل از استفاده یک واحد کم میکند |
اگر x = 5 , y = --x → x = 4, y = 4 |
|
x-- |
کاهش پسوندی |
مقدار را بعد از استفاده یک واحد کم میکند |
اگر x = 5 , y = x-- → x = 4, y = 5 |
|
تفاوت نوع پیشوندی و پسوندی عملگرهای افزایشی و کاهشی
- در نوع پیشوندی: فرض کنید می خواهیم مقدار یک متغیر اول نمایش داده شود و برای مرحله بعد استفاده یک واحد تغییر کند. به مثال زیر توجه کنید
<?php
$x = 30 ;
// اول مقدار متغیر نمایش داده میشود و در مرحله بعد تغییر می کند
echo "مقدار متغیر قبل از تغییر " . $x++ . "<br><br>" ;
echo "مقدار متغیر بعد از تغییر " . $x ;
- اما در نوع پسوندی: فرض کنید می خواهیم مقدار متغیر قبل از استفاده تغییر کرده باشد
<?php
$x = 30 ;
// اول مقدار متغیر تغییر می کند و سپس نمایش داده میشود
echo "مقدار متغیر قبل از تغییر " . --$x . "<br><br>" ;
عملگرهای مقایسه ای
- این عملگرها برای مقایسه مقدار دو طرف استفاده میشوند
- توجه: خروجی این مقایسه ها از نوع دوتایی
true یا false است
| عملگر |
نام عملگر |
توضیح |
مثال |
نتیجه مثال |
== |
مساوی |
بررسی میکند آیا دو مقدار برابر هستند (نوع داده مهم نیست) |
x = 5, y = '5' → x == y |
درست (true) |
=== |
مساوی و همنوع |
بررسی میکند آیا مقدار و نوع داده هر دو برابرند |
x = 5, y = '5' → x === y |
نادرست (false) |
!= |
نابرابر |
بررسی میکند آیا دو مقدار برابر نیستند |
x = 5, y = 3 → x != y |
درست (true) |
<> |
نابرابر (شکل دیگر) |
همان کار != را انجام میدهد |
x = 5, y = 3 → x <> y |
درست (true) |
!== |
نابرابر یا غیرهمنوع |
بررسی میکند آیا مقدار یا نوع داده متفاوت است |
x = 5, y = '5' → x !== y |
درست (true) |
> |
بزرگتر از |
بررسی میکند آیا مقدار اول از دوم بزرگتر است |
x = 7, y = 5 → x > y |
درست (true) |
< |
کوچکتر از |
بررسی میکند آیا مقدار اول از دوم کوچکتر است |
x = 3, y = 8 → x < y |
درست (true) |
=> |
بزرگتر یا مساوی |
بررسی میکند آیا مقدار اول بزرگتر یا برابر است |
x = 5, y = 5 → x >= y |
درست (true) |
=< |
کوچکتر یا مساوی |
بررسی میکند آیا مقدار اول کوچکتر یا برابر است |
x = 4, y = 6 → x <= y |
درست (true) |
<=> |
عملگر فضاپیما (spaceship) |
اگر اولی کوچکتر باشد -1، برابر باشد 0، و بزرگتر باشد 1 برمیگرداند |
x = 5, y = 8 → x <=> y |
-1 |
- میتوان برای دیدن نتیجه مقایسه ها از
()var_dump استفاده کرد. به مثال زیر توجه کنید
<?php
$x = 55 ;
$y = 55 ;
var_dump($x < $y);
// < , > , <= , >= , != , == , ===
عملگرهای منطقی
- برای ترکیب دو مقایسه یا شرط استفاده میشوند
- نتیجه خروجی این عملگرها هم از نوع دوتایی
true یا false است
- مثالا: من بگویم برو کیک و آبمیوه بخر بیار. چون قید " و " استفاده شده باید هر دو مورد انجام شود تا نتیجه
true باشد
- اما اگر بگویم برای کدنویسی می توانی از ویندوز یا لینوکس استفاده کنی یعنی میتوانی از هر کدام آنها استفاده کنی و هم میتوانی از هر دو استفاده کنی چون اینجا قید " یا " آورده شده و تنها در صورتی نتیجه
false خواهد بود که از هیچ کدام استفاده نکنی
| عملگر |
نام عملگر |
توضیح |
مثال |
نتیجه مثال |
and |
و (ترجیح پایینتر) |
وقتی هر دو عبارت درست باشند، نتیجه درست است |
(x > 0 and y > 0) |
درست اگر هر دو مثبت باشند |
&& |
و (ترجیح بالاتر) |
مشابه and ولی با اولویت بالاتر در محاسبه |
(x == 5 && y == 10) |
درست فقط اگر هر دو درست باشند |
or |
یا (ترجیح پایینتر) |
اگر یکی از عبارات درست باشد، نتیجه درست است |
(x > 0 or y < 0) |
درست اگر یکی درست باشد |
! |
نقیض (not) |
نتیجه را برعکس میکند |
!(x == 5) |
اگر x برابر 5 باشد → نادرست |
xor |
یا انحصاری (فقط یکی درست باشد) |
فقط وقتی یکی از عبارات درست باشد، نتیجه درست است |
(x > 0 xor y > 0) |
درست اگر فقط یکی از دو شرط درست باشد |
<?php
$adad1 = 36 ;
$adad2 = 17 ;
$adad3 = 81 ;
$adad4 = 46 ;
$shart = true ;
var_dump( $adad1 > $adad2 and $adad3 > $adad4);
echo "<br><br>";
var_dump( $adad1 == $adad2 or $adad3 > $adad4);
echo "<br><br>";
var_dump( $adad1 > $adad2 xor $adad3 > $adad4);
echo "<br><br>";
var_dump( ! $shart);
تفاوت and , && و or , ||
- برای عملگر "و" دو شکل دادیم که
and و && بودند تفاوت آنها در مقدم بودن شکل قدیمی است. یعنی اول عملگر && اجرا می شود بعد and اجرا می شود
- برای عملگر منطقی "یا" هم همین موضوع صدق میکند که شکل قدیمی آن || بر شکل جدید آن or مقدم است و اول || اجرا می شود.
- پس بهتر است در کد نویسی خود از شکل قدیمی استفاده کنیم تا در کدها به مشکل نخوریم
<?php
$adad1 = 36 ;
$adad2 = 17 ;
$adad3 = 81 ;
$adad4 = 46 ;
$shart = true ;
var_dump( $adad1 > $adad2 and $adad3 > $adad4 && $adad1 > $adad4);
عملگر های انتسابی
- این عملگرها برای مقدار دهی به متغیر ها یا ادغام مقادیر در هم کاربرد دارند
| عملگر |
نام عملگر |
توضیح |
مثال |
نتیجه مثال |
= |
انتساب ساده |
مقدار سمت راست را به متغیر سمت چپ میدهد |
x = 10 |
x برابر 10 میشود |
+= |
جمع و انتساب |
مقدار جدید را با مقدار قبلی جمع کرده و در همان متغیر ذخیره میکند |
x = 5 , x += 3 |
x = 8 |
-= |
تفریق و انتساب |
مقدار سمت راست از مقدار فعلی کم میشود |
x = 10 , x -= 4 |
x = 6 |
*= |
ضرب و انتساب |
مقدار سمت راست در مقدار فعلی ضرب میشود |
x = 4 , x *= 2 |
x = 8 |
/= |
تقسیم و انتساب |
مقدار فعلی بر مقدار سمت راست تقسیم میشود |
x = 12 , x /= 3 |
x = 4 |
%= |
باقیمانده و انتساب |
باقیماندهی تقسیم را در متغیر ذخیره میکند |
x = 10 , x %= 4 |
x = 2 |
**= |
توان و انتساب |
مقدار سمت راست را به توان مقدار فعلی میرساند |
x = 3 , x **= 2 |
x = 9 |
.= |
الحاق رشته و انتساب |
دو رشته را به هم متصل میکند |
text = "Hello" , text .= " World" |
text = "Hello World" |
- برای درک عملگری مثل =+ به مثال زیر توجه کنید
<?php
$x = 10 ;
$y = 5 ;
// $x = $x + $y ;
$x += $y ;
echo $x ;
عملگر شرطی
- زمانی که می خواهیم وضعیت یک شرط را با یک پیام ساده نشان دهیم از این عملگر استفاده میشود
<?php
$x = ( 5 < 3 ) ? "yes" : "no" ;
echo $x ;
- اول شرط را در پرانتز قرار می دهیم. بعد از شرط علامت سوال
? قرار میدهیم و عبارتی که برای صحیح بودن شرط میخواهیم نمایش داده شود را در دابل کوتیشن می گذاریم. بعد از عبارت صحیح علامت دو نقطه : می گذاریم و عبارتی که در صورت غلط بود شرط می آید را در داخل دابل کوتیشن می گذاریم