۱۳۸۵/۰۵/۰۸

عملگرها در PHP

«عملگرها نمادهائی هستند که با استفاده از آنها مقادیر و متغیر ها را دستکاری می کنید و عملیات خاصی را روی آنها انجام می دهید»

انواع عملگرها
در حالت کلی 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';
}

۲ نظر:

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

    پاسخحذف
  2. ادرس یادم رفت
    http://codecade.mihanblog.com
    آموزش php

    پاسخحذف