من دوبار این قسمت ویدیو را دیدم و خیلی عالی تدریس میکنید ولی من متوجه نشدم.اگه میشه لطف کنید یک توضیحی بدید و یا یک مقاله ترجیحا فارسی معرفی کنید.
باتشکر
سلام.
عملگر === چک میکنه آیا دو طرف تساوی، عین هم(مثل هم) هستن؟
عملگر !== چک میکنه آیا دو طرف، عین هم نیستن؟
برای مثال:
1 === '1'
اگر چشمی هم بخوایم نظر بدیم، دو طرف تساوی، مثل هم نیستن. عملوند سمت چپ type اش integer هست و عملوند سمت راستی type اش string هست. جواب این مقایسه false هست.
نکته: عملگر === هم مقدار را چک میکند هم تایپ.(پس در مقایسه === یا !== دو فاکتور مقدار و نوع چک میشه)
اما جواب مقایسه پایین true هست:
1 !== '1'
چون دو عملوند مثل هم نیستند.(از نظر تایپ)
حالا مثال شما:
var_dump(1 !== '2');
این مثال که کلا شبیه هم نیستن، چه از نظر مقدار و چه از نظر type.
حالا یه مثال هم با == بیارم:
1 == '1'
در عملگرهای مقایسه ای(بجز === و !==) خود PHP بصورت اتومات، قبل از مقایسه عمل تبدیل نوع(type casting) رو انجام میده. در مقایسه بین رشته و عدد صحیح، نوع رشته تبدیل به عدد صحیح میشود. پس در اینجا رشته ی ۱ تبدیل به integer میشه و بعد از تبدیل نوع، مقایسه صورت میگیره. بنابراین جواب مقایسه ی بالا، true میباشد.