انتقل إلى محتوى الدرس

Passing by Value vs Reference التمرير بالقيمة مقابل المرجع

تعلّم معاملات الدوال والقيم الافتراضية والمعاملات المسماة في PHP 8 بأسلوب PHP 8 الحديث مع أمثلة عملية وتطبيقات تفاعلية.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

افتراضياً، تمرر لغة PHP القيم الأساسية والمصفوفات بالقيمة (Pass by Value)؛ أي أن الدالة تتعامل مع نسخة مستقلة ولا يتأثر المتغير الأصلي خارجها. أما إذا وضعت رمز المرجع (&) قبل اسم المعامل (&$param)، فإن التمرير يصبح بالمرجع (Pass by Reference)، وأي تعديل داخل الدالة يغير المتغير الأصلي مباشرة:

PHP
<?php
function incrementByValue($num)
{
    $num += 10;
}
function incrementByReference(&$num)
{
    $num += 10;
}
$counter = 5;
incrementByValue($counter);
incrementByReference($counter);
echo "Final Counter: " . $counter;