Assignment Operators

(معاملات الإسناد)

✅ ما هي؟

هي المعاملات التي تُستخدم لإسناد (تخزين) القيم داخل المتغيرات.
ويمكن أن تُدمج مع عمليات حسابية لتسهيل الكتابة.

✅ القائمة الكاملة لمعاملات الإسناد:
الرمزالمعنىمثالالنتيجة
=إسناد قيمة$x = 5;5
+=جمع القيمة الحالية مع أخرى$x += 3;$x = $x + 3
-=طرح قيمة من الحالية$x -= 2;$x = $x - 2
*=ضرب القيمة الحالية في قيمة جديدة$x *= 4;$x = $x * 4
/=قسمة الحالية على قيمة جديدة$x /= 2;$x = $x / 2
%=باقي قسمة القيمة على رقم$x %= 3;$x = $x % 3
✅ أمثلة تفصيلية:
📌 1. الإسناد الأساسي =
$age = 25;
echo $age; // 25
PHP
📌 2. الجمع مع الإسناد +=
$score = 10;
$score += 5; // 10 + 5
echo $score; // 15
PHP

📌 3. الطرح مع الإسناد -=
$balance = 100;
$balance -= 20; // 100 - 20
echo $balance; // 80
PHP
📌 4. الضرب مع الإسناد *=
$items = 3;
$items *= 2; // 3 * 2
echo $items; // 6
PHP
📌 5. القسمة مع الإسناد /=
$total = 100;
$total /= 4; // 100 ÷ 4
echo $total; // 25
PHP
📌 6. باقي القسمة مع الإسناد %=
$num = 9;
$num %= 4; // 9 % 4 = 1
echo $num; // 1
PHP
✅ لماذا نستخدم هذه الطريقة المختصرة؟
الفائدةالشرح
🔹 تقليل السطر البرمجيبدلاً من كتابة $x = $x + 5; نكتب $x += 5;
🔹 أكثر وضوحًاتدل مباشرة على نوع العملية
🔹 تُستخدم في الحلقات كثيرًالتحديث القيم في كل دورة داخل loop
⚠️ محاذير هامة:
التحذيرالسبب
لا تخلط بين الإسناد والمقارنة= للإسناد و == للمقارنة، و === للمقارنة الدقيقة
تأكد من أن المتغير يحتوي على رقملأن الجمع مع null أو string قد يؤدي لنتائج خاطئة
لا تقسِم على صفرفي /= أو %= تحقق أن المقسوم عليه ≠ 0
✅ سيناريوهات حقيقية للاستخدام:
الحالةالكود
جمع نقاط في لعبة$score += 10;
خصم من الرصيد$wallet -= $amount;
مضاعفة عدد مرات محاولة تسجيل الدخول$attempts *= 2;
تقليل مدة العد التنازلي$seconds -= 1;
💡 نصائح ذهبية:
  • ✨ استخدم معاملات الإسناد داخل الحلقات لتحديث القيم بسطر واحد فقط.
  • 🔍 لا تستخدم = داخل شرط if()، بل استخدم == أو ===.
  • 🧪 جرّب دائمًا طباعة القيم بعد الإسناد للتأكد من أنها كما توقعت.
  • 📦 مناسبة جدًا لتحديث المتغيرات المتكررة مثل العداد أو الرصيد أو النقاط.
✅ ملخص سريع:
الرمزالمعنىبديل مطول
=إسناد$x = 5;
+=جمع وإسناد$x = $x + 5;
-=طرح وإسناد$x = $x - 5;
*=ضرب وإسناد$x = $x * 5;
/=قسمة وإسناد$x = $x / 5;
%=باقي القسمة وإسناد$x = $x % 5;