return في PHP
(PHP 4, PHP 5, PHP 7)
تعيد تنفيذ البرنامج إلى الوحدة التي قامت بالاستدعاء، وسيستمر التنفيذ إلى التعبير الذي يلي تعبير الاستدعاء.
إذا استدعيت عبارة return
داخل الدالة فإنّها ستنهي تنفيذ الدالة على الفور وتعيد معاملها كقيمة لاستدعاء الدالة. تنهي return
أيضًا تنفيذ عبارة eval()
أو ملف الشيفرة.
إن استدعيت عبارة return
من النطاق العام (global scope) فإنها تنهي عملية تنفيذ ذلك الملف. وإن كان ملف الشيفرة مضمنًا (included) أو مطلوبًا (required)، فإن التحكّم يعود إلى الملف المستدعي مرة أخرى. إضافة إلى ذلك، إن كان ملف الشيفرة الحالية مضمنًا فإن القيمة التي تأخذها return
ستعاد كقيمةٍ للتعبير include
. يؤدي استدعاء عبارة return
في ملف الشيفرة الرئيسي إلى إنهاء تنفيذ تلك الشيفرة. إن سُمّي ملف الشيفرة الحالية بواسطة الخيارين auto_prepend_file أو auto_append_file
في ملف الإعدادات php.ini، فإن تنفيذ تلك الشيفرة سيتوقف أيضًا.
لمزيد من المعلومات، راجع إرجاع القيم.
ملاحظة: لمّا كانت عبارة return
واحدةً من البنى التابعة للغة وليست دالةً، فإن الأقواس المحيطة بالمعاملات ليست مطلوبة ومن الشائع عدم استخدامها، بل يجدر القيام بذلك لأنّ الشيفرة في هذه الحالة ستؤدي عملًا أقل.
ملاحظة: إن لم تتوافر أي معاملات لعبارة return
، فيجب حذف الأقواس وستعاد القيمة NULL. يؤدي استدعاء عبارة return
مع الأقواس ودون أي معاملات إلى إطلاق خطأ إعرابي (parse error).
ملاحظة: لا يجوز إحاطة المتغير الذي ترغب في إعادته بالأقواس عندما يكون الإرجاع بالمرجعية، لأن هذا لن يعمل مطلقًا. يمكن فقط إرجاع المتغيرات بالمرجعية وليس إرجاع نتيجة العبارة. فلو استخدمت العبارة return ($a);
فإنك في هذه الحالة لا ترجع متغيرًا ولكن ترجع نتيجة التعبير ($a
) (وهي بالتأكيد قيمة المتغير $a
).