Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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

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

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

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

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

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

يعمل هذا أيضًا مع functions التي تقبل parameters. ما عليك سوى تمرير arguments داخل الأقواس:

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

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

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

challenge icon

التحدي

سهل

Create three functions: calculateArea التي تستقبل عددين (length وwidth) وتُرجع حاصل ضربهما، وcalculatePerimeter التي تستقبل عددين وتُرجع ضعف مجموعهما، وcalculateDiagonal التي تستقبل عددين وتُرجع الجذر التربيعي لمجموع مربعيهما.

ستتلقى three inputs: اسم operation ("area" أو "perimeter" أو "diagonal")، وlength، وwidth. اقرأ المدخلات الثلاثة، وخزّن اسم function في variable، واستدعِ تلك function باستخدام variable function syntax مع القياسين، ثم اطبع output.

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

output المتوقّع: result الحساب

جرّب بنفسك

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

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

// TODO: استدعِ الدالة المناسبة باستخدام صيغة الدوال المتغيرة واحفظ النتيجة

// أخرج النتيجة
echo $result;
?>
quiz iconاختبر نفسك

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

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

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