اپراتورهای PHP 7 (بخش اول)

درسنامه درس 6 از سری آموزش PHP 7

دوستان عزیز و همراهان گرامی روکسو در این جلسه از سری آموزش php 7 با موضوع اپراتورهای php با شما هستیم. همراه ما باشید.

اپراتورها (به انگلیسی: operator - تلفظ می شود: آپِرِیتِر) برای انجام عملیات های مختلف روی داده ها و متغیرها مورد استفاده قرار می گیرند. اپراتورهای PHP در چند گروه زیر دسته بندی می شوند:

  • اپراتورهای حسابی (برای عملیات های ریاضی)
  • اپراتورهای انتساب
  • اپراتورهای مقایسه ای
  • اپراتورهای افزایشی یا کاهشی
  • اپراتورهای منطقی
  • اپراتورهای رشته
  • اپراتورهای آرایه
  • اپراتورهای انتساب شرط

نگران نباشید با این اپراتورها کاملا آشنا می شویم.

اپراتورهای حسابی

اپراتورهای حسابی با اعداد کار می کنند و عملیات ریاضی مانند جمع، تفریق، ضرب، تقسیم و ... را انجام می دهند. لیستی از این اپراتورها را در جدول زیر می بینید:

اپراتور نام عملیات مثال معنی مثال
+ جمع $x + $y جمع متغیر های X و Y
- تفریق $x - $y تفریق متغیر های X و Y
* ضرب $x * $y ضرب متغیر های X و Y
/ تقسیم $x / $y تقسیم متغیر X بر Y
% باقی مانده $x % $y باقی مانده ی تقسیم متغیر X بر Y
** توان $x ** $y رساندن x به توان y

بیایید چند مثال از این ها را ببینیم.

مثال اول - جمع:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
$y = 6;

echo $x + $y;
?>  

</body>
</html>

مشاهده ی خروجی

مثال دوم - ضرب:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
$y = 6;

echo $x * $y;
?>  

</body>
</html>

مشاهده ی خروجی

مثال سوم - تقسیم:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
$y = 6;

echo $x / $y;
?>  

</body>
</html>

مشاهده ی خروجی

مثال چهارم - باقی مانده:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
$y = 6;

echo $x % $y;
?>  

</body>
</html>

مشاهده ی خروجی

مثال پنجم - توان:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
$y = 3;

echo $x ** $y;
?>  

</body>
</html>

مشاهده ی خروجی

اپراتورهای انتساب

این اپراتورها با مقادیر عددی کار می کنند و آن را به یک متغیر منتسب می کنند (یعنی می چسبانند). ساده ترین و رایج ترین اپراتور انتساب علامت مساوی (=) است؛ معنی علامت مساوی این است که آنچه سمت چپ تساوی است مقدار سمت راست را بگیرد. به جدول زیر نگاه کنید:

انتساب معنی انتساب توضیح
x = y x = y آنچه سمت چپ تساوی است مقدار سمت راست را میگیرد.
x += y x = x + y x با y جمع می شود و دوباره در خود X ریخته می شود.
x -= y x = x - y x از y کم می شود و دوباره در خود X ریخته می شود.
x *= y x = x * y x در y ضرب می شود و دوباره در خود X ریخته می شود.
x /= y x = x / y x بر y تقسیم می شود و دوباره در خود X ریخته می شود.
x %= y x = x % y باقی مانده‌ی تقسیم x بر y در خود X ریخته می شود.

چند مثال از این جدول را بررسی می کنیم:

مثال اول - تساوی:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 10;  
echo $x;
?>  

</body>
</html>

مشاهده ی خروجی

مثال دوم - جمع:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 20;  
$x += 100;

echo $x;
?>  

</body>
</html>

مشاهده ی خروجی

مثال سوم - باقی مانده:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 15;
$x %= 4;

echo $x;
?>  

</body>
</html>

مشاهده ی خروجی

اپراتورهای مقایسه ای

اپراتورهای مقایسه ای یا اپراتورهای قیاس در PHP برای مقایسه کردن دو مقدار (چه رشته چه عدد) به کار می روند. به این جدول نگاه کنید:

اپراتور نام اپراتور مثال معنی مثال
== برابر $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 اگر x از y کوچک تر یا مساوی با آن باشد مقدار true را برمیگرداند.
<=> سفینه $x <=> $y توضیح پایین تر

در مورد اپراتور سفینه (<=>) باید نکاتی را بدانید. اول اینکه این اپراتور جدید و در php 7 معرفی شده است. دوم آنکه بر اساس بزرگتر بودن، مساوی بودن یا کوچک تر بودن x از y مقادیر مثبت، صفر یا منفی را برمی گرداند. به مثال زیر توجه کنید:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 5;  
$y = 10;

echo ($x <=> $y); // returns -1 because $x is less than $y
echo "<br>";

$x = 10;  
$y = 10;

echo ($x <=> $y); // returns 0 because values are equal
echo "<br>";

$x = 15;  
$y = 10;

echo ($x <=> $y); // returns +1 because $x is greater than $y
?>  

</body>
</html>

مشاهده ی خروجی

در قسمت اول از کد بالا، x از y کمتر است بنابراین مقدار برگشتی 1- است. در قسمت دوم با هم برابر هستند بنابراین مقدار صفر برگردانده می شود. در قسمت سوم نیز مقدار X بزرگ تر است بنابراین مقدار 1+ را می دهد.

چند مثال دیگر:

مثال اول - برابری:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 100;  
$y = "100";

var_dump($x == $y); // returns true because values are equal
?>  

</body>
</html>

مشاهده ی خروجی

خروجی این کد true است چرا که عدد 100 و رشته ی 100 با هم برابر هستند! بله از نظر php این دو برابر هستند. اما اگر بخواهیم نوع آن ها را نیز وارد مقایسه کنیم چه؟

مثال دوم - برابری عینی:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 100;  
$y = "100";

var_dump($x === $y); // returns false because types are not equal
?>  

</body>
</html>

مشاهده ی خروجی

خروجی این مثال false است چرا که رشته ی 100 و عدد 100 با هم برابر هستند اما از یک نوع نیستند؛ نوع یکی integer (عدد) است و دیگری String (رشته).

مثال سوم - بیشتر یا مساوی:

<!DOCTYPE html>
<html>
<body>

<?php
$x = 50;
$y = 50;

var_dump($x >= $y); // returns true because $x is greater than or equal to $y
?>  

</body>
</html>

مشاهده ی خروجی

بیشتر مساوی یعنی یا یکی از طرفین بیشتر باشد یا با هم مساوی باشند. عدد 50 از عدد 50 بزرگتر نیست اما مساوی است بنابراین خروجی ما true است ((bool(true یعنی خروجی ما از نوع بولین و مقدارش true است).

امیدوارم از بحث مربوط به اپراتورهای php لذت برده باشید. تا این قسمت با سه دسته از اپراتور ها آشنا شدیم و در قسمت بعدی با انواع دیگرشان آشنا خواهیم شد.

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری آموزش PHP 7 توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.