تخفیف ویژه

با عملگر مقایسه ای جدید <=> در PHP7 اشنا شوید !

دسته بندی: آموزش
زمان مطالعه: 3 دقیقه
۲۲ اردیبهشت ۱۳۹۷

combined comparison operator

برنامه نویسان 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 بررسی نمیشود .

امیدوارم عملکرد این عملگر مقایسه ای رو به خوبی متوجه شده باشید . منتظر نظرات شما در بخش نظرات هستیم .

 

چه امتیازی به این مقاله می دید؟
نویسنده sajlud2016

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :