اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

تعيد تنفيذ البرنامج إلى الوحدة التي قامت بالاستدعاء، وسيستمر التنفيذ إلى التعبير الذي يلي تعبير الاستدعاء ، و إذا استدعيت عبارة 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).

<?php 
function getString($name){
	return $name;
}

echo getString("Hsoub");

?>

/// النتيجة 
Hsoub

ففي المثال التالي ننشأ دالة تقوم باستقبال متغير واحد و هو متغير يستقبل الاسم و من ثم نقوم باستخدام return بإرجاع قيمة متغير name$ و نقوم بطباعتها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...