عملگرهای مقایسهای (Comparison Operators) در PHP برای مقایسه مقادیر و تعیین روابط بین آنها استفاده میشوند.
این عملگرها معمولاً در شرطها (if)، حلقهها (while, for) و تصمیمگیریهای منطقی کاربرد دارند. در این مقاله، انواع عملگرهای مقایسهای در PHP را بررسی کرده و نحوه استفاده از آنها را با مثال توضیح میدهیم.
۱. لیست عملگرهای مقایسهای در PHP
عملگرهای مقایسهای در PHP شامل موارد زیر هستند:
عملگر | نام | توضیح | مثال | خروجی |
---|---|---|---|---|
== | برابر | بررسی میکند که مقدار دو متغیر برابر باشد. | 10 == "10" | true |
=== | همسان (برابر و همنوع) | بررسی میکند که مقدار و نوع داده یکسان باشند. | 10 === "10" | false |
!= یا <> | نابرابر | بررسی میکند که مقدار دو متغیر مساوی نباشد. | 10 != 5 | true |
!== | نابرابر از نظر مقدار و نوع | بررسی میکند که مقدار یا نوع داده متفاوت باشد. | 10 !== "10" | true |
> | بزرگتر | بررسی میکند که مقدار سمت چپ از مقدار سمت راست بزرگتر باشد. | 10 > 5 | true |
< | کوچکتر | بررسی میکند که مقدار سمت چپ از مقدار سمت راست کوچکتر باشد. | 5 < 10 | true |
>= | بزرگتر یا مساوی | بررسی میکند که مقدار سمت چپ بزرگتر یا مساوی مقدار سمت راست باشد. | 10 >= 10 | true |
<= | کوچکتر یا مساوی | بررسی میکند که مقدار سمت چپ کوچکتر یا مساوی مقدار سمت راست باشد. | 5 <= 10 | true |
<=> | عملگر سهتایی (Spaceship) | اگر مقدار اول کوچکتر باشد -1 ، اگر برابر باشد 0 ، اگر بزرگتر باشد 1 برمیگرداند. | 10 <=> 5 | 1 |
۲. بررسی دقیق هر عملگر مقایسهای
۲.۱ عملگر ==
(بررسی برابری مقدار)
این عملگر بررسی میکند که مقدار دو متغیر مساوی باشد، حتی اگر نوع داده آنها متفاوت باشد.
<?php
$a = 10;
$b = "10";
var_dump($a == $b); // true (چون مقدارشان برابر است)
?>
✅ نکته: PHP بهصورت خودکار نوع داده را تبدیل میکند تا بتواند مقایسه را انجام دهد.
۲.۲ عملگر ===
(بررسی برابری مقدار و نوع)
این عملگر بررسی میکند که هم مقدار و هم نوع داده یکسان باشند.
<?php
$a = 10;
$b = "10";
var_dump($a === $b); // false (چون مقدار برابر است، اما نوع داده فرق دارد)
?>
✅ نکته: در بسیاری از موارد، استفاده از ===
نسبت به ==
امنتر است، زیرا از مشکلات تبدیل خودکار نوع داده جلوگیری میکند.
۲.۳ عملگر !=
و <>
(بررسی نابرابری مقدار)
این عملگر بررسی میکند که مقدار دو متغیر مساوی نباشد.
<?php
$a = 10;
$b = 5;
var_dump($a != $b); // true (چون مقدارها برابر نیستند)
var_dump($a <> $b); // true (معادل !=)
?>
۲.۴ عملگر !==
(بررسی نابرابری مقدار و نوع)
این عملگر بررسی میکند که مقدار یا نوع داده متغیرها متفاوت باشد.
<?php
$a = 10;
$b = "10";
var_dump($a !== $b); // true (چون نوع دادهها متفاوت است)
?>
۲.۵ عملگرهای >
و <
(بررسی بزرگتر یا کوچکتر بودن)
<?php
var_dump(10 > 5); // true
var_dump(10 < 5); // false
?>
۲.۶ عملگرهای >=
و <=
(بررسی بزرگتر/کوچکتر یا مساوی)
<?php
var_dump(10 >= 10); // true
var_dump(5 <= 10); // true
?>
۲.۷ عملگر <=>
(عملگر Spaceship)
عملگر <=>
مقدار -1
، 0
یا 1
را برمیگرداند:
مقایسه | نتیجه (<=> ) |
---|---|
10 <=> 5 | 1 (چون 10 بزرگتر است) |
10 <=> 10 | 0 (چون برابرند) |
5 <=> 10 | -1 (چون 5 کوچکتر است) |
<?php
echo 10 <=> 5; // خروجی: 1
echo 10 <=> 10; // خروجی: 0
echo 5 <=> 10; // خروجی: -1
?>
۳. کاربرد عملگرهای مقایسهای در شرطها
مثال: بررسی شرط با if
<?php
$age = 18;
if ($age >= 18) {
echo "شما مجاز به ورود هستید.";
} else {
echo "ورود شما مجاز نیست.";
}
?>
مثال: استفاده در switch
<?php
$number = 10;
switch (true) {
case ($number > 10):
echo "عدد بزرگتر از 10 است.";
break;
case ($number == 10):
echo "عدد برابر 10 است.";
break;
default:
echo "عدد کوچکتر از 10 است.";
}
?>
۴. مقایسه مقدارهای خاص
۴.۱ مقایسه مقدار NULL
<?php
$x = NULL;
var_dump($x == NULL); // true
?>
۴.۲ مقایسه مقدار true
و false
<?php
var_dump(true == 1); // true
var_dump(false == 0); // true
var_dump(false === 0); // false (چون نوع داده متفاوت است)
?>
نتیجهگیری
عملگرهای مقایسهای در PHP ابزارهای ضروری برای تصمیمگیری و کنترل جریان برنامه هستند.
نکات کلیدی:
==
مقدارها را بدون توجه به نوع مقایسه میکند.===
مقدار و نوع داده را بررسی میکند.!=
و!==
برای بررسی نابرابری استفاده میشوند.>
،<
،>=
،<=
برای مقایسه اعداد به کار میروند.<=>
(عملگر spaceship) مقدار-1
،0
یا1
را برمیگرداند.
با یادگیری و استفاده صحیح از این عملگرها، میتوانید شرطهای بهینهتر و کدهای مطمئنتری بنویسید! 🚀