آموزش طراحی سایتآموزش PHP

انواع عملگرها در php

در این مقاله شما درباره انواع عملگرها در زبان PHP آموزش خواهید دید. ۷ نوع عملگر Operators را معرفی خواهیم کرد، عملگرهایی همانند عملگرهای بیتی یا عملگر -> و <- و یا عملگرهای مقایسه ای و سایر آن‌ها را به همراه مثال در ادامه تشریح خواهیم کرد.

دوره آموزش PHP به زبان ساده – عملگرها در PHP

سلام دوستان برنامه نویس، در ادامه دوره آموزش PHP در خدمت شما هستیم در قسمت قبل درباره متغیر متغیرها در PHP پرداختیم، در این جلسه قصد داریم درباره عملگرها در پی اچ پی یا به انگلیسی operators صحبت کنیم. که در ادامه مطلب بیشتر درباره این موضوع میپردازیم. قبل از هر چیز بهتر است تفاوت بین یک عملگر با عملوند را بدانید.

فرق بین عملگر با عملوند چیست؟

عملگرها عملیات‌های مختلفی را بر روی متغیرها و مقادیر اجرا میکنند به شکل کلی میتوان گفت عملگرها (operators) عملیات مختلفی را بر روی عملوندها (operand) انجام میدهند. عکس زیر گویای کاملی برای تفاوت این موضوع است.

فرق عملگر با عملوند
فرق عملگر یا operator با عملوند یا به انگلیسی operand

انواع عملگرها در PHP

  1. عملگرهای محاسبانی (Arithmetic Operators)
  2. عملگر افزایشی و عملگر کاهشی (Increment & Decrement)
  3. عملگرهای انتساب (Assignment Operators)
  4. عملگرهای مقایسه‌ای (Comparison Operators)
  5. عملگرهای منطقی (Logical Operators)
  6. عملگر رشته ای (String Operators)
  7. عملگر آرایه (Array Operators)

 

عملگرهای محاسبانی – Arithmetic Operators

عملگرهای محاسباتی با مقادیر عددی به منظور انجام عملیات‌های محاسباتی رایج هستند

انواع عملگرهای محاسباتی
انواع عملگرهای محاسباتی

به جدول بالا توجه کنید به سادگی گویای همه چی است.

Addition = جمع کردن
Subtraction = منفی کردن
Multiplication = ضرب کردن
Division = تقسیم
Modulus = باقی مانده تقسیم

مثال از چهارتای اول عملگرهای محاسباتی

<?php
  $num1 = 8;
  $num2 = 6;

  //Addition
  echo $num1 + $num2; //14

  //Subtraction
  echo $num1 - $num2; //2

  //Multiplication
  echo $num1 * $num2; //48

  //Division
   echo $num1 / $num2; //1.33333333333
?>

 مثالی از Modulus در عملگرهای محاسباتی

<?php
  $x = 14;
  $y = 3;
  echo $x % $y; // 2
?>

عملگر Modulus باقی مانده تقسیم x بر y را در خروجی میدهد. اگر ۱۴ تا بر ۳ تقسیم کنید متوجه خواهید شد که باقی مانده ۲ دارد و عملگر Modulus باقی مانده را بازمیگرداند.

توجه:اگر شما در هنگام استفاده از عملگر modulus از عملوندهای ممیزی (float) استفاده کنید عملوندها قبل از محاسبه و تقسیدم شدن اول به integer تبدیل میشوند و سپس محاسبه میگردند.

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

عملگر افزایشی : عملگر increment به منظور افزایش مقدار متغیر به کار میروند.

عملگر کاهشی : عملگر decrement به منظور کاهش مقدار متغیر به کار میروند.

$x++; // معادل عبارت پایین است
$x = $x+1;

$x--; // معادل عبارت پایین است
$x = $x-1;

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

$x++; // post-increment 
$x--; // post-decrement 
++$x; // pre-increment 
--$x; // pre-decrement

تحلیل post increment و post decrement

اگر عملگرها بعد از متغیر قرار گیرند مقدار اولیه را پیش از آنکه تغییری در متغیر ایجاد کند باز میگردانند.

تحلیل pre increment و pre decrement

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

برای درک بهتر به مثال زیر توجه کنید:

$a  = 2; $b = $a++; // $a=3,  $b=2
$a  = 2; $b = ++$a; // $a=3,  $b=3

در خط اول مقدار a زیر ۲ بوده چون عملگر بعد از متغیر است و حالت post increment را دارد پس اول مقدار خود یعنی ۲ را در محاسبه درج میکند و مقدار b نیز طبق محاسبه ۲ میشود سپس بعد از محاسبه مقدار a نیز ۳ میشود. ولی در خط دوم چون حالب pre increment است اول مقدار اولیه افزایش میابد یعنی مقدار متغیر a از ۲ به ۳ میرود و سپس مقدار افزایش داده شده از محاسبات دخیل میشود و مقدار b نیز ۳ میشود.

عملگر انتساب (Assignment Operators)

عملگرهای جایگزینی با مقادیر عددی و به منظور وارد کردن مقادیر به متغیرها کار میکنند

$num1 = 5;
$num2 = $num1;

هر دو متغیر بالا یعنی num1 و num2 مقدار ۵ را نشان میدهند.

ترکیب عملگرهای انتساب با عملگرهای محاسبانی

عملگرهای انتساب همچنین میتوانند در ترکیب با عملگرهای محاسباتی به کار روند

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

 

برای درک بهتر به مثال زیر توجه کنید

<?php
 $x = 50;
 $x += 100;
 echo $x;

 // Outputs: 150
?> 

 

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

دو نکته مهم درمورد عملگرهای مقایسه‌ای وجود دارد. مورد اول این است که عملگرهای مقایسه‌ای دو مقدار را با هم مقایسه میکنند [ عدد (integer) یا رشته (string) ] و دوم این که عملگرهای مقایسه ای درون عبارات شرطی به کار میروند و با True یا False ارزیابی می‌شوند.

توجه داشته باشید که حاصل عملگرهای مقایسه ای نیز بولین خواهد بود
عملگرهای مقایسه ای
عملگرهای مقایسه ای

تشریح عملگرهای مقایسه ای

عملگر Equal:              وقتی True است که مقدار x و y با هم برابر باشد.
علمگر Identical:         وقتی True است که مقدار و هم نوع x و y یکی باشد. عملگر =! و <> هر دو یک کار انجام میدهند
عملگر Not equal:        برعکس عملگر Equal است.
عملگر Not identical:   وقتی True است که مقدار دو متغیر یعنی x و y مساوی نباشد یا نوع دو متغیر یکسان نباشد.

بقیه عملگرهای مقایسه‌ای در جدول پایین مشاهده میکنید که نیازی به توضیح نیست و کاملا عکس‌ها گویا هستند.

بقیه عملگرهای مقایسه ای
بقیه عملگرهای مقایسه ای

عملگر منطقی (Logical Operators)

عملگر منطقی یکی از مهمترین علمگرها در زبان‌های برنامه نویسی و PHP است ، این عملگرها به شما اجازه می دهند جریان یک برنامه را تغییر دهید و در دستورات شرطی بسیار مورد استفاده قرار می گیرد. عملگر منطقی به منظور ترکیب عبارات شرطی به کار میروند.

عملگر منطقی
عملگر منطقی

تشریح عملگرهای منطقی

  • عملگر  AND  اگر هر دو یعنی x و y صحیح باشند ، عبارت $X and $y صحیح است توجه داشته باشید که اگر حتی یکی از متغیرها صحیح نباشد خروجی false می شود. (true به معنی صحیح یا درست بودن عبارت به کار میرود و False برعکس آن)
  • عملگر  OR اگر حداقل یکی از دو متغیر x یا y صحیح باشد نتیجه true است ، در غیر اینصورت false است.
  • عملگر  XOR اگر تنها x یا فقط y صحیح باشد ، مقدار true می شود. فقط یکی از متغیرها باید صحیح یا True باشد و هر دو اگر صحیح باشد یا اگر هر دو غلط (False) باشد عبارت نیز False است
  • عملگر  && همانند عملگر AND است.
  • عملگر  || همانند عملگر AND است.
  • عملگر  !  در مثال بالا توجه کنید که عبارت !$x نوشته شده و وقتی این عبارت صحیح است که  متغیر x نیز false باشد.
توجه داشته باشید که حاصل عملگرهای منطقی نیز بولین خواهد بود.

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

PHP has two operators that are specially designed for strings.

عملگر نام مثال نتیجه
. Concatenation $txt1 . $txt2 Concatenation of $txt1 and $txt2
.= Concatenation assignment $txt1 .= $txt2 Appends $txt2 to $txt1

مثال برای عملگر Concatenation

در مثال پایین دو متغیر داریم که با عملگر Concatenation این دو متغیر را الحاق کردیم.

$txt1 = "Hello";
$txt2 = $txt1 . "World"

echo txt2; // output: "Hello World"

مثال برای عملگر Concatenation assignment

در مثال پایین دو متغیر داریم که با عملگر Concatenation assignment به شکل دیگر دو متغیر را الحاق کردیم

$txt1 = "Hello";
$txt2 = " world!";
$txt1 .= $txt2;

echo txt1; // output: "Hello World"

 

عملگر آرایه (Array Operators)

عملگر نام مثال نتیجه
+ Union $x + $y Union of $x and $y
== Equality $x == $y Returns true if $x and $y have the same key/value pairs
=== Identity $x === $y Returns true if $x and $y have the same key/value pairs in the same order and of the same types
!= Inequality $x != $y Returns true if $x is not equal to $y
<> Inequality $x <> $y Returns true if $x is not equal to $y
!== Non-identity $x !== $y Returns true if $x is not identical to $y

ممکن است بعضی از این عملگرهای بالا را متوجه نشید و نخوانده باشید، در جلسات آینده به آنها میپردازیم.
از پرانتز برای ایجاد خوانایی در تقدم عملگرها و انجام محاسبات زیاد استفاده می‌شود:
به مثال زیر توجه کنید و اول سعی کنید خودتان مورد بررسی قرار دهید سپس ادامه مقاله را مطالعه کنید:

$x = ( 1 + 2 ) * ( 3 / 4 ) % ( 4 - ( 3 * 5 ));

در مثال فوق ابتدا عباراتی که داخل پرانتز هستند مورد مقحاسبه قرار میگیرند. توجه داشته باشید که در پرانتز سوم در این عبارت ابتدا مقدار داخلی‌تر پرانتز محاسبه می‌شود یعنی مقدار 3 ضربدر 5 شده و سپس از 4 کم می شود. اگر دو یا چند عملگر با حق تقدم یکسان موجود باشد ابتدا باید هر کدام از عملگرها را که در ابتدای عبارت یعنی سمت چپ تر عبارت می آیند محاسبه شود. به عنوان مثال :

$x = 5 * 4 + 12 / 4;

هر دو عملگر * و / دارای حق تقدم برابریاند. پس شما باید از سمت چپ به راست عملگرها را در عملوندها محاسبه کنید. یعنی در ابتدا 5 را ضرب‌در 4 می‌کنیم و سپس عدد 12 را بر 4 تقسیم می‌کنیم. در آخر، نتیجه دو عبارت را جمع کرده و در متغیر x$ قرار می‌دهیم.

 

 

این جلسه نسبتا طولانی هم به پایان رسید خداقوت به شما برنامه نویسان عزیز 🙂  اگر سوالی داشتید حتما در دیدگاه های این پست از میزفا مطرح کنید. در این دوره آموزش پی اچ پی با ما همراه باشید و در آینده نزدیک درخواهید یافت که یادگیری PHP چقدر آسان هست و چه مزیت‌هایی می‌تواند در کسب‌وکار شما داشته باشد.

برچسب ها

پوریا آریافر

اولین کسب و کار آنلاین خودم را در فیسبوک راه‌اندازی کردم و در سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال را داشتم. سپس وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت را دریافت کردم، در دوران خدمت سربازی مسئول بهینه سازی یک وبسایت خبری معتبر شدم و آشنایی با سئو را آموختم و در سال ۲۰۱۴ توانستم به رتبه ۴۰۰ الکسا نزدیک کنم. برخلاف میل درونی، وارد دانشگاه شدم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، در همان سال بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو را داشتم، که فروختم تا بتوانم تمرکز را فقط بر روی سئو بگذارم، فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌می‌گیرد، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کرده‌ام. در همه ابزارهای گوگل به جز adwords تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری را یادگیری و یاددادن می‌دانم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شده، می‌تواند چنین بستر مناسبی را فراهم کند. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم ...

نوشته های مشابه

‫2 نظرها

  1. مثال برای عملگر Concatenation assignment اشتباه نوشتید:
    $txt1 = “Hello”;
    $txt2 = ” world!”;
    $txt1 .= $txt2;
    echo $txt1;

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر