الدوال المجهولة
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 1 من 68.
الدوال المجهولة (Anonymous functions)، والمعروفة أيضاً باسم الإغلاقات (closures)، هي دوال ليس لها اسم محدد. إنها مثالية للمهام القصيرة التي تُنفذ لمرة واحدة، حيث يكون إنشاء دالة كاملة مسمى أمراً مبالغاً فيه.
لإنشاء دالة مجهولة (anonymous function)، تستخدم الكلمة المفتاحية function بدون اسم للدالة، ثم تقوم بتعيينها لمتغير:
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>لاحظ الفاصلة المنقوطة بعد قوس الإغلاق - هذا مطلوب لأنك تقوم بتعيين الدالة لمتغير.
لاستدعاء الدالة المجهولة، استخدم اسم المتغير متبوعاً بأقواس:
<?php
$greeting("Alice"); // المخرجات: Hello, Alice!
?>تعد الدوال المجهولة (Anonymous functions) مفيدة بشكل خاص عندما تحتاج إلى دالة بسيطة لمهمة محددة دون إثقال الكود الخاص بك بدوال مسماة ستستخدمها مرة واحدة فقط.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلأنشئ دالة مجهولة (anonymous function) تأخذ رقماً كمعامل (parameter) وتعيد مربع ذلك الرقم. قم بتعيين هذه الدالة لمتغير يسمى $square.
ستتلقى رقماً كمدخل. اقرأ الرقم، واستدعِ دالتك المجهولة بهذا الرقم، واطبع النتيجة.
تنسيق المدخلات: رقم واحد (قد يحتوي على كسور عشرية)
المخرجات المتوقعة: مربع الرقم المدخل
ورقة مرجعية
الدوال المجهولة (closures) هي دوال بدون اسم محدد، وهي مفيدة للمهام القصيرة التي تُنفذ لمرة واحدة.
قم بإنشاء دالة مجهولة باستخدام الكلمة المفتاحية function بدون اسم، ثم قم بتعيينها لمتغير:
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>لاحظ أن الفاصلة المنقوطة بعد قوس الإغلاق مطلوبة عند تعيين دالة لمتغير.
استدعِ الدالة المجهولة باستخدام اسم المتغير متبوعاً بأقواس:
<?php
$greeting("Alice"); // المخرجات: Hello, Alice!
?>جرّب بنفسك
<?php
// قراءة المدخلات
$number = floatval(fgets(STDIN));
// TODO: قم بإنشاء دالة مجهولة (anonymous function) وتعيينها للمتغير $square
// استدعاء الدالة وطباعة النتيجة
echo $square($number);
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين