فرق اپراتور == با === در php چیست؟

گاهی وقتا توی کد از دو تا علامت == و گاهی وقتا از === استفاده میشه؟ تفاوت اینا چیه؟

فرق اپراتور == با === در php  چیست؟

تعریف مسئله

دو تا از اپراتورهای مقایسه‌ای که توی php خیلی زیاد استفاده میشه == و === هست.

== به معنی مساوی بودن هست ( equal ) - برابری

=== به معنی کاملا یکی بودن ( identical ) - کاملا یکسان

در واقع ما توی دنیای برنامه‌نویسی علاوه بر مقدار ( value ) ، یه چیزی داریم به اسم نوع ( type  ) 

== فقط مقدار رو چک می‌کنه 

=== علاوه برمقدار ، نوع رو هم چک میکنه.

در ادامه مثال ها رو ببینیم.

خروجی هر عبارت براساس چیزی که توضیح دادیم چیه؟

if ("22" == 22) {
echo "YES";
} else {
echo "NO";
}

خروجی = YES

دلیلش اینه که مقدار هر دو طرف اپراتور == با هم یکسان هستند.

if("22" === 22) {
echo "YES";
} else {
echo "NO";
}

خروجی = No

دلیلش اینه که مقدار هر دو طرف اپراتور === با هم یکسان هستند. ولی نوع طرف راست عددی و نوع طرف چپ رشته است.

if("22" === (string)22) {
echo "YES";
} else {
echo "NO";
}
?>

خروجی :  Yes

دلیل  : چون هم مقدار و هم نوع هر دو طرف اپراتور === برابر هستند.



سیامک گودرزی

سیامک گودرزی

Full stack web developer

t amet, consectetur adipisicing elit. Ducimus itaque, autem necessitatibus voluptate quod mollitia delectus aut, sunt placeat nam vero culpa sapiente consectetur similique, inventore eos f

برای نوشتن نظر وارد شوید.

نظرات

Subcribe to our Newsletter

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in

Rijisoft