عملگر های مقایسه ای (Comparison) در PHP

عملگر های مقایسه ای (Comparison) در PHP

عملگر های مقایسه ای – Comparison در زبان برنامه نویسی PHP از عملگر های اصلی برای مقایسه داده و شرایط مختلف به حساب می آید .


مواردی همچون مساوی ، کوچک تر ، بزرگ تر ، مساوی از لحاظ نوع داده و دیگر شرایط .

کار مان را با 2 متغیر زیر شروع می کنیم .

$a = 15;
$b = 20;


علامت های قابل استفاده برای مقایسه : ( توضیحات در پایین کد )

==
!=
<>
===
!==
<
<=
>
>=
<=>

1- آیا فقط مقدار دو داده مساوی است
2- آیا فقط مقدار دو داده مساوی نیست
3- همان مورد 2 فقط با علامت متفاوت
4- آیا مقدار دو داده و نوع داده شان مساوی است
5- آیا مقدار دو داده یا نوع داده شان مساوی نیست
6- آیا متغیر اول کوچک تر است از متغیر دوم
7- آیا متغیر اول کوچک تر یا مساوی است با متغیر دوم
8- آیا متغیر اول بزرگ تر است از متغیر دوم
9- آیا متغیر اول بزرگ تر یا مساوی است با متغیر دوم
10 – مورد 6 و 8 و + یا مساوی است



قبل از شروع کار نیاز است که با تابع intval ( تبدیل نوع داده های دیگر به integer ) آشنا شوید که یک تابع است برای Type Casting برای تبدیل نوع داده ای به نوع دیگر بدون از دست دادن اطلاعات ناقص .

در PHP اگر بخواهیم true را echo کنیم عدد 1 را مشاهده می کنیم و اگر false باشد هیچ خروجی نمایش داده نمی شود برای همین از intval استفاده می کنیم تا در صورتی که

true بود 1 و false بود 0 نمایش داده شود .

مقایسه با ==

echo intval($a == $b); // 0


مقایسه با =!

echo intval($a != $b); // 1


مقایسه با <>

echo intval($a <> $b); // 1


مقایسه با ===

همین طور که در کد پایین مشاهده می کنید با اینکه مقدار a و b مساوی است اما نوع داده شان یکی نیست . همانطور که توضیح داده شد برای دریافت true باید هم مقدار و هم نوع داده یکی باشد . ( یعنی هر 2 مورد باید فراهم شود )

$a = 20;
$b = '20';

echo intval($a === $b); // 0


مقایسه با !==

نوع داده یا مقدار مساوی نباشد ( یکی از شرایط کافی است )

$a = 20;
$b = '20';

echo intval($a !== $b); // 1


مقایسه با >

$a = 15;
$b = 20;

echo intval($a < $b); // 1


مقایسه با =>

$a = 20;
$b = 20;

echo intval($a <= $b); // 1


مقایسه با <

$a = 21;
$b = 20;

echo intval($a > $b); // 1


مقایسه با =<

$a = 20;
$b = 20;

echo intval($a >= $b); // 1


مقایسه با <=>

این عملگر دارای 3 خروجی در شرایط مختلف است :

مورد 1 : در صورتی که متغیر اول از دوم کوچک تر باشد

خروجی 1- برگردانده می شود

$a = 11;
$b = 23;
echo intval($a <=> $b); // -1


مورد 2 : در صورتی که متغیر اول با دوم مساوی باشد

خروجی 0 برگردانده می شود

$a = 23;
$b = 23;
echo intval($a <=> $b); // 0


مورد 3 : در صورتی که متغیر اول از دوم بزرگ تر باشد

خروجی 1 برگردانده می شود

$a = 25;
$b = 21;
echo intval($a <=> $b); // 1


مقایسه کاراکتر ها

برای درک بهتر از کد کاراکتر عملگر های Increment و Decrement در PHP (پایین مقاله) را مطالعه کنید .


مقایسه رشته با 1 کاراکتر

$a = "A"; // 65
$b = "B"; // 66

echo intval($a < $b); // 1


مقایسه رشته با بیش تر از 1 کاراکتر ( حالت اول )

در صورتی که اولین کاراکتر رشته ها مساوی باشد کاراکتر های بعد مورد مقایسه قرار می گیرد . متغیر y دارای کاراکتر A است اما متغیر x فاقد کاراکتر

$x = "B"; 
$y = "BA";

echo intval($x < $y); // 1


مقایسه رشته با بیش تر از 1 کاراکتر ( حالت دوم )

در صورتی که اولین کاراکتر رشته ها نا مساوی باشد ، از کاراکتر های بعدی چشم پوشی می شود .

$x = "B";
$y = "ABCE";

echo intval($x > $y); // 1

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

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us