Menu
CoddyTech

دوال المتغيرات

جزء من قسم المنطق وتدفق التنفيذ في رحلة PHP على Coddy. الدرس 6 من 68.

توفر الدوال المتغيرة طريقة أخرى لاستدعاء الدوال ديناميكيًا في PHP. بدلًا من استخدام call_user_func()، يمكنك استدعاء دالة مباشرةً من خلال التعامل مع متغير يحتوي على اسم الدالة كما لو كان الدالة نفسها.

الصياغة بسيطة: إذا كان لديك متغير يحتوي على اسم دالة، فيمكنك استدعاء تلك الدالة بإضافة أقواس إلى المتغير:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // الناتج: Hello World!
?>

ينجح هذا أيضًا مع الدوال التي تقبل معلمات. ما عليك سوى تمرير الوسائط داخل الأقواس:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // الناتج: Hello, Alice!
?>

توفر الدوال المتغيرة طريقة واضحة وبديهية لتنفيذ التعليمات البرمجية ديناميكيًا. وتكون هذه الميزة مفيدة بشكل خاص عندما تحتاج إلى استدعاء دوال مختلفة بناءً على الشروط أو مدخلات المستخدم، مما يجعل تعليماتك البرمجية أكثر مرونة وقابلية للتكيف.

challenge icon

التحدي

سهل

أنشئ ثلاث دوال: calculateArea التي تأخذ عددين (الطول والعرض) وتُرجع حاصل ضربهما، وcalculatePerimeter التي تأخذ عددين وتُرجع ضعف مجموعهما، وcalculateDiagonal التي تأخذ عددين وتُرجع الجذر التربيعي لمجموع مربعيهما.

ستتلقى ثلاثة مدخلات: اسم العملية ("area" أو "perimeter" أو "diagonal")، والطول، والعرض. اقرأ المدخلات الثلاثة كلها، وخزّن اسم الدالة في متغير، واستدعِ تلك الدالة باستخدام صيغة استدعاء الدالة عبر متغير مع القياسين. خزّن القيمة التي تُرجعها في $result: يطبعها السطر الموجود أسفل الكود.

تنسيق الإدخال: ثلاثة أسطر - يحتوي السطر الأول على اسم العملية، ويحتوي السطر الثاني على الطول (عدد قد يحتوي على كسور عشرية)، ويحتوي السطر الثالث على العرض (عدد قد يحتوي على كسور عشرية)

المخرجات المتوقعة: نتيجة العملية الحسابية

جرّب بنفسك

<?php
// اقرأ المدخلات
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: أنشئ الدوال الثلاث هنا (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: استدعِ الدالة المناسبة باستخدام صيغة الدوال المتغيرة وخزّن النتيجة في $result

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم PHP عبر الإنترنت