آموزش انواع عملگر در PHP با مثال

عملگرها در PHP عملیات‌های مختلفی روی متغیرها یا مقادیر اجرا می‌کنند. مثلاً عملگر جمع در ریاضی یک نمونه ساده‌ای است که همه با آن آشنا هستیم. در این آموزش انواع عملگر های PHP را یاد گرفته و مثال‌هایی از هر ۶ نوع آن‌ها می‌زنیم.

قبل از آشنایی با عملگرها، بهتر است دو مفهوم را بدانیم:

  • عملگر (operator): مشخص‌کننده عملیاتی است که قرار است بین عملوندها انجام شود.
  • عملوند (operand): مقادیری هستند که در عملیات عملگر شرکت می‌کنند. این مقادیر می‌توانند یک متغیر در PHP یا انواع داده‌ای ثابت باشند.

در تصویر زیر، یک مثال ساده از عملوندها و عملگرهای ریاضی زده‌ام. علامت جمع (+) و انتساب (=) عملگر و سه متغیر دیگر عملوندها هستند.

مثال عملگر و عملوند
مثال عملگر و عملوند

همه زبان‌های برنامه نویسی دارای عملگر هستند؛ که برخی از آن‌ها ممکن است در زبان‌های مختلف مشابه هم باشند. به همین دلیل در آموزش مبانی برنامه نویسی در این‌باره صحبت کوتاهی کرده‌ایم.

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

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

ساده‌ترین عملگرهایی که همه ما از دوران مدرسه یادمان است، عملگرهای ریاضی (Arithmetic Operators) است. همانطور که می‌دانید، این عملگرها یک عملیات ریاضی را روی عملوندهای خود اجرا می‌کنند. به همین دلیل ممکن است به آن‌ها عملگرهای محاسباتی در PHP نیز گرفته شود.

در جدول زیر، انواع عملگر ریاضی در PHP را مشاهده می‌کنید.

عملگرعملیات
+جمع دو مقدار
تفریق دو مقدار
*ضرب دو عدد
/تقسیم صحیح
%باقی‌مانده تقسیم
**عدد اول به توان دومی

۲ نوع عملگر پایه PHP

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

  1. عملگرهای انتساب
  2. عملگرهای افزایشی و کاهشی

عملگر انتساب

وقتی یک متغیر  تعریف می‌کنیم، باید یک مقداری را به آن انتساب دهیم. می‌دانیم که از علامت مساوی (=) برای انتساب یک مقدار (Assignment) استفاده می‌شود. از این عملگرها برای انتساب مقدار جدید در محاسبات نیز استفاده می‌شود.

مثال اپراتور انتساب در PHP
مثال اپراتور انتساب در PHP

مثلاً وقتی می‌خواهیم عدد x را با y جمع کرده و نتیجه را در $x قرار دهیم، کدی مشابه زیر را می‌نویسیم:

$x = $x + $y

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

عملگر انتسابعملیات مشابه
x = xمقدار x برابر y
x += yx = x + y
x -= yx = x – y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y

عملگرهای کاهشی و افزایشی

گاهی در محاسبات مختلف، نیاز داریم مقدار یک متغیر را افزایش یا کاهش دهیم. برای این کار تا الآن دو روش یاد گرفته‌ایم. مثلاً برای افزایش متغیر $x یکی از دو خط زیر را می‌نویسیم:

$x = $x + 1;
$x += 1;

چهار عملگر برای کاهش و افزایش یک پله‌ای متغیر در PHP وجود دارد. اگر می‌خواهید مقدار یک متغیر را فقط به اندازه یک واحد کاهش (Decrement) یا افزایش (Increment) دهید، می‌توانید از این عملگرها استفاده کنید:

عملگراسم
++$xپیش افزایش (Pre-Increment)
$x++پس افزایش (Post-Increment)
--$xپیش کاهش (Pre-Decrement)
$x--پس کاهش (Post-Decrement)

در ۲ مورد، عملگر افزایش یا کاهش قبل از نام متغیر قرار گرفته و در ۲ مورد، بعد از متغیر نوشته می‌شود. تفاوت این دو حالت زمانی مشخص می‌شود که مقدار متغیر همراه با عملگر را با هم استفاده کنیم. ابتدا به مثال زیر توجه کنید:

<?php
$x = 5;
echo $x++;
echo ++$x;
?>

وقتی قطعه کد بالا را اجرا کنیم، دو خروجی متفاوت می‌گیریم: دستور چاپ در PHP برای خط دوم، مقدار 5 را نمایش می‌دهد اما در خط سوم، مقدار 6 را خواهیم داشت.

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

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

عملگرهای مقایسه‌ای علاوه بر مقایسه مقادیر عددی در PHP، برای مقایسه انواع داده‌های دیگر نیز استفاده می‌شود. مثلاً می‌توانیم دو string را با هم مقایسه کنیم. به نظرتان مقایسه دو رشته متنی در چه جاهایی استفاده می‌شود؟!

در جدول زیر عملگرهای مقایسه‌ای PHP (به انگلیسی: Comparison Operators) را می‌بینید. به تفاوت == و === دقت کنید، گاهی اوقات نیاز داریم نوع داده‌ای را نیز با هم مقایسه کنیم که باید از دومین عملگر استفاده شود.

عملگر PHPنتیجهمثال
==مقایسه برابر بودن عملوندها$x == $y
===برابری و نوع (type) یکسان$x === $y
!=مقایسه نابرابری$x != $y
<>مقایسه نابرابری$x <> $y
!==برابر نبودن مقدار یا نوع$x !== $y
>بزرگ‌تری$x > $y
<کوچک‌تری$x < $y
>=بزرگ‌تر مساوی$x >= $y
<=کوچک‌تر مساوی$x <= $y
جدول عملگرهای مقایسه‌ای PHP

عملگر منطقی PHP

عملگرهای منطقی روی نوع‌های داده‌ای منطقی یا همان بولین (Boolean) استفاده می‌شوند. منظورم از بولین همان True یا False در برنامه‌نویسی است. عبارت‌های شرطی در PHP یکی از پرکاربردترین محل‌هایی است که از این عملگرها استفاده می‌کنیم.

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

جمله من دو عبارت درست یا غلط (true/false) دارد. این دو عبارت را با یک عملگر منطقی «و» بهم وصل کرده‌ام. یعنی این دو حتماً باید هم‌زمان صحیح باشند تا ادامه جمله صحیح باشد.

اپراتور منطقیعملیات
$x and $yو (AND)
$x && $yو (AND)
$x or $yیا (OR)
$x || $yیا (OR)
$x xor $yXOR (فقط یکی true)
! $xعملیات not

عملگر نوع‌های داده‌ای

علاوه بر عملگرهای مقایسه‌ای که برای نوع‌های داده‌ای مختلف استفاده می‌شود، برخی از typeها دارای عملگرهای خاص هستند. در این بخش این عملگرها را با هم مرور می‌کنیم.

عملگر های رشته PHP

در آموزش رشته متنی PHP دو string را به هم متصل می‌کنیم. عملیات متصل کردن دو رشته متنی به یکدیگر را concatenation می‌گویند. این عملیات با عملگر . (نقطه) انجام می‌شود.

مشابه عملگرهای محاسباتی، می‌توانیم این عملگر را به تنهایی یا در ترکیب با عملگر انتساب استفاده کنیم:

<?php
$name = "omid";

$msg  = "hello" . $name;   // Concatenate

echo "Hello" . $name;

$name .= " rajaei";   // $name = "omid rajaei"

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

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

عملگر بین دو آرایهعملیات
+اجتماع دو آرایه
==بررسی برابر بودن مقادیر دو آرایه
===برابر بودن مقادیر و ترتیب عناصر آرایه‌ها
!=برابر نبودن آرایه‌ها

در این آموزش عملگر های PHP را با هم مرور کردیم. مجدداً تکرار می‌کنم که نیازی به حفظ این موارد نیست. اکثر آن‌ها مشابه عملگرهای ریاضی هستند. برخی از آن‌ها را به ندرت استفاده می‌کنیم. اما اگر یکی از آن‌ها را از یاد بردید، با مراجعه به همین آموزش یا مستندات اصلی آن به راحتی از آن‌ها استفاده خواهید کرد.

معمولاً بعد از مدتی تمرین و برنامه‌نویسی، عملگرهای اصلی و کاربردی PHP را به خاطر خواهد سپرد؛ پس نگران نباشید. اگر سؤال یا نکته تکمیلی‌ای دارید، بخش دیدگاه‌ها برای شماست. 🙂

این آموزش بخشی از یک آموزش جامع و قدم به قدم در سبز دانش است: دوره رایگان آموزش PHP