آموزش رایگان PHP

آموزش کامل عملگرهای منطقی در PHP (همراه با تفاوت‌های کلیدی)

1405/04/03 23:56 محراب حسن زاده
آموزش کامل عملگرهای منطقی در PHP (همراه با تفاوت‌های کلیدی)

مقدمه‌ای بر عملگرهای منطقی در PHP

در دنیای برنامه‌نویسی، تصمیم‌گیری‌ها اساس کار قالب کدهای ما را تشکیل می‌دهند. ما از دستورات شرطی مانند if استفاده می‌کنیم تا تعیین کنیم چه زمانی یک قطعه کد خاص باید اجرا شود. اما برای بررسی چند شرط همزمان، نیاز به ابزارهایی داریم که به آن‌ها عملگرهای منطقی (Logical Operators) می‌گوینب. این عملگرها به ما اجازه می‌دهند تا مقادیر بولی (Boolean - درست یا نادرست) را ترکیب یا معکوس کنیم.

معرفی ۴ عملگر منطقی اصلی در PHP

در PHP شش عملگر منطقی وجود دارد که در اصل ۴ کارکرد متفاوت را پیاده‌سازی می‌کنند. جدول زیر این عملگرها را نشان می‌دهد:

  • AND (و): اگر هر دو شرط درست باشند، مقدار نهایی True می‌شود. (عملگرهای && و and)
  • OR (یا): اگر حداقل یکی از شرط‌ها درست باشد، مقدار نهایی True می‌شود. (عملگرهای || و or)
  • XOR (یا انحصاری): اگر فقط و فقط یکی از شرط‌ها درست باشد (و نه هر دو)، مقدار نهایی True می‌شود. (عملگر xor)
  • NOT (نقیض/عکس): مقدار بولی را معکوس می‌کند. (عملگر !)

۱. عملگر AND (و)

این عملگر زمانی مقدار درست (True) برمی‌گرداند که تمامی طرفین شرط درست باشند. در PHP به دو شکل نوشته می‌شود: && و and.


$has_ticket = true;
$has_id_card = true;

// بررسی با استفاده از &&
if ($has_ticket && $has_id_card) {
    echo "شما مجاز به ورود هستید.";
} else {
    echo "امکان ورود وجود ندارد.";
}

۲. عملگر OR (یا)

این عملگر زمانی مقدار درست را برمی‌گرداند که حداقل یکی از طرفین شرط درست باشد. در PHP به دو شکل نوشته می‌شود: || و or.


$is_admin = false;
$is_author = true;

// بررسی با استفاده از ||
if ($is_admin || $is_author) {
    echo "شما به پنل مدیریت دسترسی دارید.";
} else {
    echo "دسترسی غیرمجاز!";
}

۳. عملگر XOR (یا انحصاری)

عملگر xor زمانی مقدار True برمی‌گرداند که فقط یکی از مقادیر درست باشد. اگر هر دو درست یا هر دو نادرست باشند، خروجی False خواهد بود.


$has_premium = true;
$has_coupon = true;

// فقط یکی باید درست باشد تا تخفیف ویژه اعمال شود
if ($has_premium xor $has_coupon) {
    echo "تخفیف ویژه اعمال شد.";
} else {
    echo "شما نمی‌توانید همزمان از هر دو روش یا هیچ‌کدام استفاده کنید!";
}

۴. عملگر NOT (نقیض)

عملگر تک‌عضوی ! مقدار بولی متغیر یا شرط بعد از خود را برعکس می‌کند.


$is_logged_in = false;

if (!$is_logged_in) {
    echo "لطفا ابتدا وارد حساب کاربری خود شوید.";
}

یک تفاوت حیاتی: فرق بین AND و && (اولویت عملگرها)

بسیاری از برنامه‌نویسان تازه کار تصور می‌کنند که && با and و همچنین || با or کاملاً یکسان هستند. اما این یک اشتباه بزرگ است! تفاوت اصلی آن‌ها در اولویت اجرا (Operator Precedence) است.

عملگر && اولویت بسیار بالاتری نسبت به عملگر تخصیص (=) دارد، در حالی که عملگر and اولویت پایین‌تری نسبت به مساوی (=) دارد. به مثال زیر با دقت نگاه کنید:


$a = true;
$b = false;

// حالت اول با &&
$result1 = $a && $b; 
// ابتدا $a && $b ارزیابی می‌شود که خروجی آن false است، سپس به $result1 اختصاص می‌یابد.
// مقدار $result1 برابر با false خواهد بود.

// حالت دوم با and
$result2 = $a and $b;
// ابتدا مقدار $a به $result2 اختصاص داده می‌شود (چون اولویت = از and بیشتر است!)
// مقدار $result2 برابر با true خواهد بود!

بنابراین به عنوان یک استاندارد توسعه، توصیه می‌شود همیشه از && و || برای ارزیابی شرط‌ها استفاده کنید تا از بروز باگ‌های منطقی پنهان جلوگیری نمایید.

نتیجه‌گیری

یادگیری دقیق عملگرهای منطقی به شما کمک می‌کند کدهای خواناتر، هوشمندانه‌تر و بدون خطا بنویسید. همیشه به یاد داشته باشید که اولویت عملگرهای سمبلیک (مانند && و ||) از عملگرهای متنی (مانند and و or) بیشتر است.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور
1404/09/21 23:58

تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور

مطالعه بیشتر
آموزش جامع ساخت پنل مدیریت ساده و استاندارد با PHP
1405/05/14 22:19

آموزش جامع ساخت پنل مدیریت ساده و استاندارد با PHP

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
1403/08/11 21:28

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
1403/08/09 20:48

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

مطالعه بیشتر
آموزش کامل تفاوت echo و print در PHP به زبان ساده
1405/03/21 01:11

آموزش کامل تفاوت echo و print در PHP به زبان ساده

مطالعه بیشتر
آموزش آپدیت اطلاعات در دیتابیس به روش امن و استاندارد (Update Query)
1405/05/13 21:12

آموزش آپدیت اطلاعات در دیتابیس به روش امن و استاندارد (Update Query)

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
1403/07/30 20:59

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش جامع خواندن و نوشتن فایل متنی در PHP (به زبان ساده)
1405/05/04 23:17

آموزش جامع خواندن و نوشتن فایل متنی در PHP (به زبان ساده)

مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
1402/06/27 23:35

معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
1402/06/28 00:20

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

مطالعه بیشتر
آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)
1405/03/14 00:07

آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)

مطالعه بیشتر
آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور
1405/05/01 20:04

آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد