آموزش php-mysql قسمت هشتم : انواع عملگر ها operators

PHP-wpmen.ir

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

در این قسمت می خواهیم  انواع  عملگرها  را  در php  بررسی کنیم.


عملگر چیست:در ویکی پدیا این چنین تعریف شده است.

در ریاضیات، یک عملگر تابعی است که بر تابعی دیگر اعمال می‌شود. در مواردی ممکن است یک عملگر را یک عمل ریاضی گویند مانند «عمل جمع» که در اصل عملگر جمع می‌باشد.

در علوم کامپیوتر پس از تعریف متغیرها و مقدار دادن به آنها٫ عملیاتی روی آنها انجام می‌شود. انجام عملیات توسط عملگر صورت می‌گیرد.

پس از عملگر ها (operators) برای عملیات روی مقادیر و متغیر ها استفاده می شود.

عملگر های php به دسته های زیر تقسیم می شوند.

  • Arithmetic operators(عملگرهای  محاسباتی )
  • Assignment operators(عملگرهای  انتسابی  )
  • Comparison operators(عملگرهای  مقایسه ای )
  • Increment/Decrement operators(عملگرهای  افزایشی/کاهشی )
  • Logical operators(عملگرهای  منطقی )
  • String operators(عملگرهای  رشته ای )
  • Array operators(عملگرهای  آرایه ای )

php عملگر های دیگری مانند bitwise operators و error operators نیز دارا می باشد.

در زیر به بررسی انواع عملگر ها می پردازیم


Arithmetic operators(عملگرهای  محاسباتی )

از عملگر های محاسباتی برای انجام عملیات ریاضی روی عملوند ها استفاده می شود مانند جمع ، تفریق،ضرب  و…

عملگر نام مثال  نتیجه
+ Addition (جمع) $x + $y  مجموع x$ و y$
Subtraction ( تفریق) $x – $y تفاوت (تفریق )x$ و y$
* Multiplication  ( ضربدر) $x * $y ضربدر دو مقدار x$ و y$
/ Division  ( تقسیم) $x / $y خاج تقسیم  دو مقدار x$ و y$
% Modulus  ( باقی مانده) $x % $y باقی مانده تقسیم  دو مقدار x$ و y$
** Exponentiation ( توان) $x ** $y به توان رسانی x$ در y$

 

مثال ها را مشاهده نمایید:

<?php
$x = 10;  
$y = 4;
echo $x + $y;
echo $x - $y;
echo $x * $y;
echo $x / $y;
echo $x ** $y;
?>

Assignment operators( عملگرهای  انتسابی  )

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

Assignment شباهت توضیحات
x = y x = y متغیر سمت چپ مقدار سمت راست را می گیرد (عملگر انتساب )
x += y x = x + y جمع دو متغیر و ریختن در متغیر سمت چپ
x -= y x = x – y تفریق دو متغیر و ریختن در متغیر سمت چپ
x *= y x = x * y ضرب دو متغیر و ریختن در متغیر سمت چپ
x /= y x = x / y خارج قسمت  متغیر اول در دوم و ریختن در متغیر سمت چپ
x %= y x = x % y باقی مانده  متغیر اول در دوم  و ریختن در متغیر سمت چپ

 

<?php
$x = 10;  
echo $x;
echo $x += 100;
echo $x -= 100;
echo $x *= 100;
echo $x /= 100;
echo $x %= 100;
?>

 

Comparison operators(عملگرهای  مقایسه ای )

از عملگرهای مقایسه ای بیشتر برای مقایسه دومقدار یا دو متغیر استفاده می شود و استفاده آن برای شرط ها می باشد.مقدار بازگشتی یا صحیح است یا نادرست

Operator Name مثال نتیجه
== برابر $x == $y مقدار صحیح(true) اگر x$ برابر با y$ باشد
=== یکسان $x === $y مقدار صحیح(true) اگر x$  با y$ برابر و از یک نوع داده  باشد
!= نا برابر $x != $y مقدار صحیح(true) اگر x$  با y$ نابرابر باشد
<> نا برابر $x <> $y مقدار صحیح(true) اگر x$  با y$ نابرابر باشد
!== نا یکسان $x !== $y مقدار صحیح(true) اگر x$  با y$ برابر نباشد و یا از یک نوع نباشد
> بزرگتر  $x > $y مقدار صحیح(true) اگر x$  از  y$ بزرگتر باشد
< کوچکتر  $x < $y مقدار صحیح(true) اگر x$  از  y$ کوچکتر باشد
>= بزرگتر یا مساوی $x >= $y مقدار صحیح(true) اگر x$  از  y$ بزرگتر یا مساوی باشد
<= کوچکتز یا مساوی $x <= $y مقدار صحیح(true) اگر x$  از  y$ کوچکتر یا مساوی  باشد

 

<?php
$x = 10;
$y="10";  
if($x==$y){
echo "true";
}
else{
echo "false"
}
if($x===$y){
echo "true";
}
else{
echo "false"
}
if($x <> $y){
echo "true";
}
else{
echo "false"
}
if($x != $y){
echo "true";
}
else{
echo "false"
}
if($x !== $y){
echo "true";
}
else{
echo "false"
}
if($x>$z){
echo "true";
}
else{
echo "false"
}
if($x<$z){
echo "true";
}
else{
echo "false"
}
if($x>=$z){
echo "true";
}
else{
echo "false"
}
if($x<=$z){
echo "true";
}
else{
echo "false"
}
?>

Increment/Decrement operators(عملگرهای  افزایشی/کاهشی )

از عملگرهای کاهشی و افزایشی برای افزودن/کاهش یک واحد به مقدار فعلی استفاده می شود.

بیشتر برای حلقه ها و شرط خاتمه حلقه از عملگرهای افزایشی/کاهشی استفاده می شود.

عملگرهای افزایشی شامل پس افزایشی/پیش افزایشی و عملگرهای کاهشی شامل پس کاهشی/پیش کاهشی می باشند.

عملگر نام توضیحات
++$x پیش افزایشی x$ را یک واحد افزایش می دهد سپس مقدار آن را باز می گرداند
$x++ پس افزایشی مقدار x$ را برمیگرداند سپس آن را یک واحد افزایش می دهد
–$x پیش کاهشی x$ را یک واحد  کاهش می دهد سپس مقدار آن را باز می گرداند
$x– پس کاهشی مقدار x$ را برمیگرداند سپس آن را یک واحد کاهش می دهد
<?php
$x=6;
echo $x++;
echo ++$x;
echo $x--;
echo --$x;
?>

Logical operators(عملگرهای  منطقی )

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

عملگر نام مثال نتیجه
and درست بودن تمام شرط ها $x and $y اگر x$ و y$  تمام شرط هایشان درست باشد
or درست بودن یکی شرط ها $x or $y اگر x$ و y$ یکی  شرط هایشان درست باشد
xor اگر شرط ها یکی درست باشد و با هم نه هردو  $x xor $y اگر x$  و یا y$ یکی از شرط ها درست باشد ولی اگر هردو شرط درست باشند نادرست است
&& درست بودن تمام شرط ها $x && $y اگر x$ و y$  تمام شرط هایشان درست باشد
|| درست بودن یکی شرط ها $x || $y اگر x$ و y$ یکی  شرط هایشان درست باشد
! اگر شرطی درست نباشد !$x اگر x$ نادرست باشد
<?php
$x = 100;  
$x = 100;  
$y = 50;

if ($x == 100 and $y == 50) {
	echo "Hello and!";
}
if ($x == 100 or $y == 80) {
	echo "Hello or!";
}
if ($x == 100 xor $y == 80) {
	echo "Hello xor!";
}
if ($x == 100 && $y == 50) {
	echo "Hello and2!";
}
if ($x == 100 || $y == 80) {
	echo "Hello or2!";
}
if ($x !== 90) {
	echo "Hello not!";
}
?>  

String operators(عملگرهای  رشته ای )

از عملگر های رشته ای برای ترکیب دو متغیر رشته ای استفاده می شود 

عملگر  نام مثال نتیجه 
. Concatenation $txt1a . $txt2a الحاق دو رشته txt1a$ و txt2a$
.= Concatenation assignment $txt1a .= $txt2a اضافه کردن رشته txt2a$  به رشته txt2a$
<?php
$txt1 = "Hello";
$txt2 = " world!";
echo $txt1 . $txt2;
$txt1 .= $txt2;
echo $txt1;
?>  

عملگرهای آرایه ای

آرایه ها در php 

عملگر نام  مثال نتیجه
+ اجتماع $x + $y اجتماع x$ و y$
== برابری $x == $y اگر  x$ و y$ دارای یک مقدار و کلید یکسان باشد مقدار true را باز می گرداند.
=== تطابق $x === $y اگر  x$ و y$ دارای یک مقدار و کلید یکسان باشد و مقدار کلید از یک نوع باشد مقدار true را باز می گرداند.
!= نابرابری $x != $y اگر x$ مخالف x$ باشد مقدار true را باز می گرداند.
<> نابرابری $x <> $y اگر x$ مخالف x$ باشد مقدار true را باز می گرداند.
!== غیر تطابق $x !== $y Returns true if $x is not identical to $y
<?php
$x = array("a" => "red", "b" => 1);  
$y = array("a" => "red", "b" => "1");  
var_dump($x == $y);
var_dump($x === $y);
var_dump($x <> $y);
var_dump($x != $y);
var_dump($x !== $y);
?>

عملگرهای بیتی

این عملگرها بر روی بیت های یک متغییر عملی را انجام میدهند و بیتها را به نسبت عملگر برمیگردانند. اگر متغییرها رشته هستند بر روی کدهای ASCII آنها عمل می کند.

عملگر توضیحات مثال نتیجه
~  not ~$a; بیت هایی را برمی گرداند که در a$ نیستند.
&  and a$ & $b; بیت هایی را برمی گرداند که هم در a$ و هم در b$ هستند.
|  or $a | $b; بیت هایی را که در a$ یا در b$ هستند برمی گرداند.
^  xor $a ^$b; بیت هایی را برمی گرداند که در a$ یا در b$ هستند اما در هر دو نیستند.
>>  شیفت به چپ $a << $b; بیت های a$ را به اندازه b$ تا به سمت چپ انتقال می دهد.
<<  شیفت به راست $a >> $b; بیت های a$ را به اندازه b$ تا به سمت راست انتقال می دهد.

<?php
/*
 * Ignore the top section,
 * it is just formatting to make output clearer.
 */

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
        . ' %۳$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 ---------     ---------  -- ---------
 result        value      op test
 ---------     ---------  -- ---------
EOH;


/*
 * Here are the examples.
 */

$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;

echo "\n Bitwise AND \n";
foreach ($values as $value) {
    $result = $value & $test;
    printf($format, $result, $value, '&', $test);
}

echo "\n Bitwise Inclusive OR \n";
foreach ($values as $value) {
    $result = $value | $test;
    printf($format, $result, $value, '|', $test);
}

echo "\n Bitwise Exclusive OR (XOR) \n";
foreach ($values as $value) {
    $result = $value ^ $test;
    printf($format, $result, $value, '^', $test);
}
?>

عملگرهای کنترل خطا

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

از عملگر @ برای این کار استفاده می شود.اگر فایلی موجود نباشد به جای خطا گرفتن آن را نادیده می گیرد.

<?php
/* Intentional file error */
$my_file = @file ('non_existent_file') or
    die ("Failed opening file: error was '$php_errormsg'");

// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn't exist.

?>

عملگر های جدید در php7.

<=>

مقایسه دو مقدار که ۳ حالت بیشتر ندارد.

۱,۰,۱-

echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

اگر مقدار سمت چپ با راست برابر باشد مقدار ۰  را بر میگرداند

اگر مقدار سمت چپ کوچکتر از مقدار سمت راست باشد ۱- را بر میگرداند

اگر مقدار سمت چپ بزرگتر از سمت راست باشد مقدار ۱  را بر میگرداند

قدم عملگرها :

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

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


تاریخ آخرین بروزرسانی : ۲۹ مرداد ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.