Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الزيادة والنقصان

جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 19 من 71.

عندما تحتاج إلى إضافة أو طرح 1 بالضبط من متغير، توفر PHP طريقة أقصر من التعيين المدمج: عاملي الزيادة والنقصان.

عامل الزيادة (++) يضيف 1 إلى المتغير، بينما عامل النقصان (--) يطرح 1:

<?php
$count = 5;
$count++;  // $count أصبح الآن 6
$count--;  // $count أصبح الآن 5 مرة أخرى
?>

يمكن وضع هذه المعاملات قبل أو بعد المتغير، مما يؤثر على وقت حدوث التغيير:

<?php
$a = 5;
echo $a++;  // يطبع: 5، ثم تصبح قيمة $a تساوي 6
echo $a;    // يطبع: 6

$b = 5;
echo ++$b;  // تصبح قيمة $b تساوي 6، ثم يطبع: 6
?>

مع $a++ (الزيادة اللاحقة)، يتم استخدام القيمة الأصلية أولاً، ثم يتم زيادتها. مع ++$b (الزيادة السابقة)، يتم زيادة القيمة أولاً، ثم يتم استخدامها. ينطبق نفس المنطق على -- لعملية التنقيص.

challenge icon

التحدي

سهل

اقرأ رقماً من المدخلات وقم بتخزينه في متغير يسمى $counter.

قم بإجراء العمليات التالية بالترتيب، مع طباعة نتيجة كل عبارة echo في سطر جديد:

  1. اطبع قيمة $counter++ (زيادة لاحقة - post-increment)
  2. اطبع القيمة الحالية لـ $counter
  3. اطبع قيمة ++$counter (زيادة سابقة - pre-increment)
  4. قم بإنقاص $counter باستخدام -- (لا يلزم الطباعة)
  5. اطبع القيمة النهائية لـ $counter

مثال:

إذا كانت المدخلات هي 10، يجب أن تكون المخرجات:

10
11
12
11

التفسير:

  • الزيادة اللاحقة تطبع 10، ثم يصبح $counter يساوي 11
  • القيمة الحالية هي 11
  • الزيادة السابقة تجعل $counter يساوي 12، ثم تطبع 12
  • الإنقاص يجعل $counter يساوي 11
  • القيمة النهائية هي 11

ورقة مرجعية

يقوم معامل الزيادة (++) بإضافة 1 إلى المتغير، بينما يقوم معامل النقصان (--) بطرح 1:

<?php
$count = 5;
$count++;  // $count الآن هو 6
$count--;  // $count الآن هو 5 مرة أخرى
?>

يمكن وضع هذه المعاملات قبل أو بعد المتغير:

  • الزيادة اللاحقة ($a++): يستخدم القيمة الأصلية أولاً، ثم يقوم بالزيادة
  • الزيادة السابقة (++$a): يقوم بالزيادة أولاً، ثم يستخدم القيمة الجديدة
<?php
$a = 5;
echo $a++;  // المخرجات: 5، ثم يصبح $a يساوي 6
echo $a;    // المخرجات: 6

$b = 5;
echo ++$b;  // يصبح $b يساوي 6، ثم المخرجات: 6
?>

ينطبق نفس المنطق على معامل النقصان (--).

جرّب بنفسك

<?php
// قراءة المدخلات
$counter = intval(fgets(STDIN));

// TODO: اكتب كودك أدناه
// 1. اطبع قيمة ++counter$ (زيادة لاحقة)

// 2. اطبع القيمة الحالية لـ counter$

// 3. اطبع قيمة counter$++ (زيادة سابقة)

// 4. قم بإنقاص counter$ باستخدام -- (لا يلزم الطباعة)

// 5. اطبع القيمة النهائية لـ counter$

?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals