انواع عملگرها
در حالت کلی 12 نوع عملگر اصلی داریم. تعدادی از عملگرها زیر مجموعه ای از عملگرها را در بردارند. در زیر انواع عملگرها را مشاهده می کنید:
- عملگرهای ریاضی
- عملگرهای رشته ای
- عملگرهای تناظری (دارای زیر مجموعه عملگرهای تناظری ترکیبی، افزایش و کاهش گام بگام، عملگر مرجع)
- عملگرهای مقایسه ای
- عملگرهای منطقی
- عملگرهای بیتی
- عملگرهای خاص
- عملگر سه گانه
- عملگر نفی خطا
- عملگر اجرائی
- عملگرهای آرایه ای
- عملگر نمونه
عملگرهای ریاضی
اغلب شما با عملگرهای ریاضی آشنا هستید. این عملگرها در جدول زیر نشان داده شده اند:
مثال | نام | نتیجه |
---|---|---|
-$a | Negation | Opposite of $a. |
$a + $b | Addition | Sum of $a and $b. |
$a - $b | Subtraction | Difference of $a and $b. |
$a * $b | Multiplication | Product of $a and $b. |
$a / $b | Division | Quotient of $a and $b. |
$a % $b | Modulus | Remainder of $a divided by $b. |
عملگرهای رشته ای
تنها عملگر رشته ای، عملگر پیوند می باشد:
$a = "Hello ";
$b = $a . "World!"; // $b contains "Hello World!"
عملگرهای تناظری
این عملگر با جمله "برابر است با" مشخص می شود:
$a = "Hello ";
عملگرهای تناظری ترکیبی
این عملگرهای ترکیبی از عملگرهای ریاضی و عملگر تناظری می باشند و برای کم کردن حجم برنامه و نیز جذابیت کد نویسی بکار می روند!
در جدول زیر این عملگر ها را مشاهده می نمائید:(شامل مثال، نام و معادل عملگر)
$a += $b $a = $a + $b Addition
$a -= $b $a = $a - $b Subtraction
$a *= $b $a = $a * $b Multiplication
$a /= $b $a = $a / $b Division
$a %= $b $a = $a % $b Modulus
$a .= $b $a = $a . $b Concatenate
افزایش و کاهش گام به گام
مثال | نام | نتیجه |
---|---|---|
++$a | Pre-increment | Increments $a by one, then returns $a. |
$a++ | Post-increment | Returns $a, then increments $a by one. |
--$a | Pre-decrement | Decrements $a by one, then returns $a. |
$a-- | Post-decrement | Returns $a, then decrements $a by one. |
عملگر مرجع
اگر بخواهید مقدار متغیر a را در b کپی کنید از روش زیر استفاده می کنید:
$a = "Hello ";
$b = $a
در این حالت در صورت تغییر مقدار b مقدار a تغیر نمی کند. گاهی نیاز است تا با تغییر b مقدار a و بالعکس تغییر کند. در این حالت b را با استفاده از عملگر مرجع " & " ، و عملگر تناظر " = " b را تعریف می کنیم:
$a = "Hello ";
$b = &$a;
حال با تغییر b یا a مقدار دیگری نیز تغییر پیدا می کند. برای اینکه این دو از هم جدا شوند باید یکی را با دستور unset از بین ببرید و از دوباره آن را تعریف کنید.
عملگر های مقایسه ای
این عملگر ها برای مقایسه متغیر ها از نظر تساوی یا تشابه و ... مورد استفاده قرار می گیرند:
مثال | نام | نتیجه |
---|---|---|
$a == $b | برابری | TRUE if $a is equal to $b. |
$a === $b | تشابه | TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4) |
$a != $b | نابرابری | TRUE if $a is not equal to $b. |
$a <> $b | نابرابری | TRUE if $a is not equal to $b. |
$a !== $b | نامتشابه | TRUE if $a is not equal to $b, or they are not of the same type. (introduced in PHP 4) |
$a < $b | کوچکتر از | TRUE if $a is strictly less than $b. |
$a > $b | بزرگتر از | TRUE if $a is strictly greater than $b. |
$a <= $b | مساوی یا کوچکتر | TRUE if $a is less than or equal to $b. |
$a >= $b | مساوی یا بزرگتر | TRUE if $a is greater than or equal to $b. |
عملگرهای منطقی
در عملگرهای منطقی شزایط خاصی بررسی و عبارت منطقی true به معنی درست و false به معنی نادرست بوجود می آید. در جدول زیر عملگرهای منطقی و کاربرد آنها توصیف شده است:
مثال | نام | نتیجه |
---|---|---|
$a and $b | And | TRUE if both $a and $b are TRUE. |
$a or $b | Or | TRUE if either $a or $b is TRUE. |
$a xor $b | Xor | TRUE if either $a or $b is TRUE, but not both. |
! $a | Not | TRUE if $a is not TRUE. |
$a && $b | And | TRUE if both $a and $b are TRUE. |
$a || $b | Or | TRUE if either $a or $b is TRUE. |
اولویت عملگرهای and و or پائین تر از اولویت عملگرهای && و || است.
عملگرهای بیتی
عملگرهای بیتی، اعداد صحیح را به صورت مجموعه ای بیت ها در نظر می گیرند. کاربرد عملگرهای بیتی در php بسیار اندک است. در جدول زیر این عملگرها را مشاهده می کنید:
مثال | نام | نتیجه |
---|---|---|
$a & $b | And | Bits that are set in both $a and $b are set. |
$a | $b | Or | Bits that are set in either $a or $b are set. |
$a ^ $b | Xor | Bits that are set in $a or $b but not both are set. |
~ $a | Not | Bits that are set in $a are not set, and vice versa. |
$a << $b | Shift left | Shift the bits of $a $b steps to the left (each step means "multiply by two") |
$a >> $b | Shift right | Shift the bits of $a $b steps to the right (each step means "divide by two") |
عملگرهای خاص
دو عملگر -> و new با مفهوم کلاس در ارتباطند و در آینده بررسی خواهند شد.
عملگر سه گانه
این عملگر شبیه دستور if-else عمل می کند. دو عبارت زیر با هم برابرند:
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
if (empty($_POST['action'])) {
$action = 'default';
} else {
$action = $_POST['action'];
}
عملگر نفی خطا
عملگر نفی خطا (error suppression) از نماد @ استفاده می کند. در مثال
$a=@(57/0);
اگر از نماد @ استفاده نشود، به علت تقسیم بر صفر خطائی ظاهر می شود. با استفاده از این عملگر ایجاد خطا منتفی می گردد.
اگر با این روش بوجود آمدن خطا را نفی می کنید بهتر است کدهای مدیریتی را بنویسید تا بوجود آمدن خطا را چک کند. اگر قابلیت track_errors را فعال کنید پیام های خطا در متغیر جهانی php_errormsg$ ذخیره می شوند.
عملگر اجرائی
عملگر اجرائی از نماد ' ' استفاده می کند. دقت کنید که دکمه مربوط به این نماد با دکمه ~ مشترک است. هر عبارتی که بین ' قرار گیرد در خط فرمان سرور اجرا می شود. مثلا در سیستم عامل یونیکس، کد زیر لیست دایرکتوری را تهیه کرده و در ذخیره می کند:
$output = `ls -al`;
echo "<pre>$output</pre>";
عملگرهای آرایه ای
عملگرهای آرایه ای [] امکان دسترسی به اجزاء آرایه را فراهم می آورند. برخی از عملگرهای آرایه ای را در زیر مشاهده می نمائید:
مثال | نام | نتیجه |
---|---|---|
$a + $b | Union | Union of $a and $b. |
$a == $b | Equality | TRUE if $a and $b have the same key/value pairs. |
$a === $b | Identity | TRUE if $a and $b have the same key/value pairs in the same order and of the same types. |
$a != $b | Inequality | TRUE if $a is not equal to $b. |
$a <> $b | Inequality | TRUE if $a is not equal to $b. |
$a !== $b | Non-identity | TRUE if $a is not identical to $b. |
عملگر نمونه
عملگر نمونه عملگر instaceof است که در برنامه نویسی شیءگرا بکار می رود. به طور خلاصه، این عملگر شی را بررسی و از تعلق آن به یک کلاس خاص آگاهی می یابد:
class A { }
class B { }
$thing = new A;
if ($thing instanceof A) {
echo 'A';
}
if ($thing instanceof B) {
echo 'B';
}
سلام
پاسخحذفخیلی خوب و کامل بود من هم وبلاگ آموزش php دارم اگه سر بزنید خوشحال میشیم لینکمون کنید خوشحال تر میشیم :دی
ادرس یادم رفت
پاسخحذفhttp://codecade.mihanblog.com
آموزش php