شرح صفوف ومحتوى الفقرة
افتراضياً، تمرر لغة 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;