عملگرها و عبارات شرطی در PHP

۱۴۰۵/۰۸/۱۳ | چهارشنبه، ۱۳ آبان
دوره آموزشی ویژه 4 اپیزود اول تمام دوره های آموزشی ویدیویی رایگان میباشد دانلود رایگان

دورهٔ جامع CSS از صفر

آموزش CSS از صفر در ۲۲ ویدیو: مدل جعبه، انتخاب‌گر، فلکس‌باکس، گرید، واکنش‌گرایی، متغیرها، انیمیشن و معماری، تا پروژهٔ کامل صفحهٔ محصول؛ کد کنار خروجی ...

مدرس دوره : تیم 22 اپیزود ویدیویی 03 ساعت و 33 دقیقه و 59 ثانیه آموزش ویدیویی
متن پرونده شماره 236 - پی اچ پی
عملگرها و شرط در PHP
محصول اورجینال INZIP
قالب وردپرس باریستا مخصوص کافه تم نسکافه ای روشن (دو زبانه)

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

دانلود پوسته وردپرس باریستا؛ قالب کافیشاپ، رُستری قهوه و فروشگاه قهوه دوزبانه با منوی رومیزی، رزرو آنلاین میز با کد پیامکی و ووکامرس. طراحی اختصاصی inzip.ir

تحویل آنی آپدیت رایگان بدون قفل لایسنس پشتیبانی واقعی
۳,۹۹۰,۰۰۰ تومان ۲,۹۶۰,۰۰۰ تومان
بازدید و دانلود آنی
٪۲۶
تخفیف ویژه
سود شما
۱,۰۳۰,۰۰۰ تومان

عملگرها و عبارات شرطی در PHP

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

عملگرهای حسابی (Arithmetic)

عملگرهای حسابی + جمع - تفریق * ضرب / تقسیم % باقیمانده ** توان
<?php
$a = 10;
$b = 3;

echo $a + $b;   // 13
echo $a - $b;   // 7
echo $a * $b;   // 30
echo $a / $b;   // 3.333...
echo $a % $b;   // 1
echo $a ** $b;  // 1000 (توان)
?>

عملگرهای انتساب (Assignment)

<?php
$x = 10;
$x += 5;   // x = 15
$x -= 3;   // x = 12
$x *= 2;   // x = 24
$x /= 4;   // x = 6
$x %= 4;   // x = 2
$x **= 3;  // x = 8
?>

عملگرهای مقایسه‌ای (Comparison)

<?php
$a = 5;
$b = "5";

$a == $b;   // true (فقط مقدار)
$a === $b;  // false (نوع و مقدار)
$a != $b;   // false
$a !== $b;  // true
$a <> $b;  // false (معادل !=)

10 > 5;     // true
10 < 5;     // false
5 >= 5;     // true
5 <= 4;     // false

// Spaceship operator (PHP 7+)
1 <=> 2;  // -1 (چپ کوچکتر)
2 <=> 2;  // 0 (مساوی)
3 <=> 2;  // 1 (چپ بزرگتر)
?>

عملگرهای منطقی (Logical)

<?php
$age = 25;
$hasLicense = true;

// AND منطقی
if ($age >= 18 && $hasLicense) {
    echo "مجاز به رانندگی";
}

// OR منطقی
if ($age < 18 || !$hasLicense) {
    echo "غیرمجاز";
}

// NOT منطقی
if (!($age >= 18)) {
    echo "سن کم است";
}
?>

عملگرهای بیتی (Bitwise)

<?php
$a = 12;  // 1100
$b = 5;   // 0101

$a & $b;  // AND  = 4 (0100)
$a | $b;  // OR   = 13 (1101)
$a ^ $b;  // XOR  = 9 (1001)
~$a;      // NOT  = -13
$a << 1; // 24  (شیفت چپ)
$a >> 1; // 6   (شیفت راست)
?>

عملگر رشته‌ای

<?php
$first = "سلام";
$last = "دنیا";

$greeting = $first . " " . $last;  // "سلام دنیا"
$greeting .= "!";                    // "سلام دنیا!"
?>

عملگر Null Coalescing (PHP 7+)

<?php
// $username = $_GET['user'] ?? 'مهمان';
// اگر user موجود نباشد، 'مهمان' استفاده می‌شود

$config = ['timeout' => 30];
$timeout = $config['timeout'] ?? 60; // 30

// Null coalescing assignment (PHP 7.4+)
$data['name'] ??= 'پیش‌فرض';
?>

ساختار شرطی if

<?php
$score = 85;

if ($score >= 90) {
    echo "عالی";
} elseif ($score >= 75) {
    echo "خوب";
} elseif ($score >= 50) {
    echo "قبول";
} else {
    echo "مردود";
}
?>

ساختار switch

برای مقایسه یک متغیر با چندین مقدار مختلف:

<?php
$day = "شنبه";

switch ($day) {
    case "شنبه":
    case "یکشنبه":
        echo "آخر هفته";
        break;
    case "دوشنبه":
        echo "شروع هفته کاری";
        break;
    default:
        echo "روز عادی";
}
?>

عملگر سه‌تایی (Ternary)

<?php
$age = 20;
$status = ($age >= 18) ? "بزرگسال" : "خردسال";

// معادل if else کوتاه
echo $isLoggedIn ? "خوش آمدید" : "لطفاً وارد شوید";

// Null coalescing در ternary
$name = $_POST['name'] ?? 'ناشناس';
?>

عملگر Null Safe (PHP 8+)

<?php
$user = getUser(); // ممکن است null باشد

// بدون خطا حتی اگر user null باشد
$city = $user?->address?->city ?? 'نامشخص';

// قبل از PHP 8
$city = isset($user->address) ? $user->address->city : null;
?>

Match Expression (PHP 8+)

جایگزین مدرن‌تر برای switch:

<?php
$status = 200;

$message = match (true) {
    $status >= 200 && $status < 300 => 'موفق',
    $status >= 400 && $status < 500 => 'خطای کاربر',
    $status >= 500 => 'خطای سرور',
    default => 'نامشخص'
};
?>

عملگر Spread در آرایه‌ها

<?php
$parts = ['یک', 'دو', 'سه'];
$more = [...$parts, 'چهار', 'پنج'];
// ['یک', 'دو', 'سه', 'چهار', 'پنج']
?>

نکات کلیدی

  • همیشه از === به جای == استفاده کنید
  • عملگر Null Coalescing برای مقادیر پیش‌فرض عالی است
  • Match سریع‌تر و امن‌تر از Switch است
  • از شرط‌های تو در تو عمیق پرهیز کنید (حداکثر ۲ سطح)

نتیجه‌گیری

درک عملگرها و شرطی‌ها، پایه‌ای‌ترین مهارت در برنامه‌نویسی PHP است. با استفاده از ویژگی‌های مدرن PHP 8 مانند Match و Null Safe، می‌توانید کد خواناتر و ایمن‌تری بنویسید.

برچسب‌های این مقاله
  • عملگرهای PHP
  • if else PHP
  • switch PHP
  • ternary operator
  • match expression
  • null coalescing
٪۴۱
دوره اختصاصی INZIP

دورهٔ جامع HTML از صفر

آموزش حرفه ای HTML از صفر در ۱۶ ویدیو: سند، متن، لینک، تصویر، جدول، فرم، معنایی‌سازی، دسترس‌پذیری و سئو، تا پروژهٔ کامل صفحهٔ فروشگاه محصول.

تماشای آنلاین + دانلود دسترسی آنی و همیشگی به‌روزرسانی رایگان کیفیت Full HD
۹۹۰,۰۰۰ تومان ۵۹۰,۰۰۰ تومان سود شما ۴۰۰,۰۰۰ تومان
مشاهده سریال