برنامه نویسان php در ورژنهای قبل از php 7 با عملگرهای مقایسه ای کار کرده و آشنا هستند . در php 7 نیز عملگر مقایسه ای جدیدی به عملگرهای قبلی اضافه شده است .
در ابتدا مروری داشته باشیم به عملگرهای مهم مقایسه ای، که قبل از php 7 وجود داشتند :
عملگر equal (==) :
این عملگر مشخص میکند که دو متغیر با یکدیگر برابر هستند یا خیر . به عنوان مثال :
<?php $x="5"; $y=5; $result=$x==$y;
در مثال بالا result$ مقدار true یعنی صحیح را برمیگرداند . هر چند نوع متغیر x از نوع string(رشته) میباشد اما مقدار متغیرهای x , y یکسان هستند . عملگر مقایسه ای equal (==) یکسان بودن نوع متغیرها را چک نمیکند .
عملگر Not equal (=!) :
در مقابل عملگر equal (==) عملگر Not equal (=!) قرار دارد که مساوی نبودن دو متغیر را چک میکند و مانند حالت equal نوع متغیرها را بررسی نمیکند .
عملگر Not equal (<>) :
این مورد هم دقیقا شبیه عملگر '=!' عمل میکند .
عملگر identical (===) :
این عملگر علاوه بر این که تساوی مقادیر متغیرها را چک میکند ، تساوی نوع متغیرها را هم در نظر میگیرد . برای مثال کد زیر را در نظر بگیرید :
<?php $x="5"; $y=5; $result = $x===$y;
در این حالت result$ دیگر دربردارنده مقدار صحیح (true) برای ما نمیباشد چرا که متغیر x از نوع رشته(string) و متغیر y از نوع عدد(integer) میباشد .
عملگر Not identical (==!) :
در مقابل عملگر identical (===) عملگر Not identical (==!) قرار دارد که مساوی نبودن دو متغیر را چک میکند و مانند حالت identical نوع متغیرها را هم بررسی میکند .
عملگرهای کوچکتر (>) ، بزرگتر (<) ، کوچکتر یا مساوی (=>) و بزگتر یا مساوی(=<) نیز از مواردی هستند که در phpهای ورژن پایینتر از php 7 وجود داشته اند که برنامه نویسان حتما با آنها آشنایی دارند .
مورد جدیدی که در php7 به عملگرهای مقایسه ای در php اضافه شده است عملگر combined comparison operator(<=>) میباشد که در ادامه به بررسی آن میپردازیم .
combined comparison operator(<=>) جهت راحتتر کردن کار مقایسه متغیرها به php 7 اضافه شده است . این عملگر به این گونه عمل میکند که در :
<?php $x<=>$y
اگر متغیر سمت چپ عملگر بزرگتر باشد ، عدد 1 برگشت داده میشود .
اگر متغیر سمت راست عملگر بزرگتر باشد ، عدد -1 برگشت داده میشود .
اگر دو متغیر مساوی باشند عدد 0 برگشت داده میشود .
به این نکته توجه داشته باشید که در combined comparison operator(<=>) نوع متغیرها بررسی نمیشود و صرفا مقدار آنها مورد بررسی قرار میگیرد مثلا در :
<?php $x = "6"; $y = 5; $result = $x <=> $y;
result$ مقدار 1 را برخواهد گرداند و رشته ای بودن متغیر X بررسی نمیشود .
امیدوارم عملکرد این عملگر مقایسه ای رو به خوبی متوجه شده باشید . منتظر نظرات شما در بخش نظرات هستیم .
اولین دیدگاه این پست رو تو بنویس !