نعلم جميعاً أن لكل متغير مجال محدد ( PHP VARIABLE SCOPES ) ولا يمكن استخدام المتغير إلا في نطاقه, ونعرف أن المتغيرات الشاملة ( PHP GLOBAL VARIABLES ) لا يمكن استخدامها داخل الدوال إلا باستخدام كلمة global . لكن ماذا إذا أردت استخدام المتغيرات الشاملة كوسيط لدالة function argumentt .
يمكن تمرير المتغيرات الشاملة كوسائط للدوال باستخدام مرجع reference للمتغير وليس استخدام المتغير نفسه عن طريق وضع علامة & قبل وسائط الدالة.
كما تعلم أنه يمكن تمرير قيم الوسائط للدالة ( php passing arguments by value ) وهذه الطريقة تستخدم الوسائط دون تغيير قيمتها الأصلية
يضاً من الاستخدامات المفيدة لتمرير الماغيرات بالمرجعية, هو استخدامها مع جملة ( PHP Foreach As ).
فكما نعلم أن جملة foreach as تقوم بعمل التكرار الحلقي على قيم المصفوفات بحيث يتم تخصيص كل قيمة لمتغير ثم الاستفادة من هذا المتغير فيما بعد, لكن دون التأثير على القيم الأصلية داخل المصفوفة.