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

عملگرها در 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 ارزیابی می‌شوند.

[box type=”note” align=”alignright” class=”” width=”100%”]توجه داشته باشید که حاصل عملگرهای مقایسه ای نیز بولین خواهد بود[/box]
عملگرهای مقایسه ای
عملگرهای مقایسه ای

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

عملگر 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 باشد.
[box type=”note” align=”alignright” class=”” width=”100%”]توجه داشته باشید که حاصل عملگرهای منطقی نیز بولین خواهد بود.[/box]

عملگر رشته ای (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 چقدر آسان هست و چه مزیت‌هایی می‌تواند در کسب‌وکار شما داشته باشد.

فیلم آموزشی asp.net core 2

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

فیلم آموزشی asp.net core 2

2 نظر

2 پاسخ

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

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

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

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

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=