روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ M-Fallah
نکته: اولویت عملگرها و اپراتورهای منطقی
جامعه پی اچ پی ایجاد شده در ۲۲ مهر ۱۴۰۱

سلام.

من به یک نکته ای بر خوردم در زمان مطالعه اپراتورهای منطقی (Logical Operators) که مطرح کردنش اینجا میتونه برای دوستانی آموزنده باشه.

نکته ای که هست تقریبا برمیگرده به اولویت علمگرها یا اصطلاحا (Operator Precedence)

این موضوع شاید پیش افتاده باشه اما زمانی جالب میشه که شما بجای استفاده از نماد اپراتور AND که میشه "&&"، از خود عبارت "AND" استفاده کنید.

به قطعه کد زیر نگاه کنید تا متوجه موضوع بشید.

$bool = true && false;
var_dump($bool); // false
$bool = true and false;
var_dump($bool); // true

قطعه کد اول صحیح است، چونکه باید هر دو طرف عملگر && مقدار یکسانی داشته باشند.

اما در قطعه کد دوم، زمانی که از مدل نوشتاری عملگر AND استفاده میشود، بجای خروجی false ، خروجی true میشود.

چونکه 'AND/OR' اولویت کمتری نسبت "=" دارند، ولی '|| / &&' اولیت بالاتری دارند.