معاملات الدوال
جزء من قسم الأساسيات في رحلة PHP على Coddy. الدرس 62 من 71.
الدالة sayHello من الدرس السابق تفعل الشيء نفسه دائمًا. ولكن ماذا لو أردت تحية أشخاص مختلفين؟ تتيح لك المعلمات تمرير البيانات إلى دالة، مما يجعلها مرنة وديناميكية.
المعاملات هي متغيرات مُدرجة داخل القوسين عند التصريح عن دالة. عند استدعاء الدالة، تقدّم قيمًا (تُسمّى وسائط) يتم إسنادها إلى تلك المعاملات:
<?php
function greet($name) {
echo "Hello, $name!\n";
}
greet("Alice");
greet("Bob");
?>هذا يُخرج:
Hello, Alice!
Hello, Bob!يعمل المُعامل $name كعنصر نائب. في كل مرة تستدعي فيها greet()، تستبدل الوسيطة التي تمررها عنصرَ النائب هذا داخل الدالة.
يمكن للدوال قبول معلمات متعددة، مفصولة بفواصل:
<?php
function introduce($name, $age) {
echo "$name is $age years old.\n";
}
introduce("Alice", 25);
introduce("Bob", 30);
?>يُنتج هذا:
Alice is 25 years old.
Bob is 30 years old.عند استدعاء دالة ذات معلمات متعددة، يكون الترتيب مهمًا: تذهب الوسيطة الأولى إلى المعلمة الأولى، والثانية إلى الثانية، وهكذا.
التحدي
سهلاقرأ ثلاثة أسطر من الإدخال:
- اسم شخص (مثل
Alice) - اسم مدينة (مثل
Paris) - سنة (مثل
2020)
أنشئ دالة تُسمى describePerson وتقبل ثلاثة معاملات: $name و$city و$year. يجب أن تطبع الدالة رسالة بالتنسيق التالي:
[name] moved to [city] in [year].استدعِ الدالة باستخدام قيم الإدخال.
المثال 1:
إذا كانت المدخلات هي Alice وParis و2020، فيجب أن يكون الناتج:
Alice moved to Paris in 2020.المثال 2:
إذا كانت المدخلات هي Bob وTokyo و2018، فيجب أن يكون الناتج:
Bob moved to Tokyo in 2018.المثال 3:
إذا كانت المدخلات هي Emma وNew York و2015، فيجب أن يكون الناتج:
Emma moved to New York in 2015.جرّب بنفسك
<?php
// اقرأ المدخلات
$name = trim(fgets(STDIN));
$city = trim(fgets(STDIN));
$year = trim(fgets(STDIN));
// TODO: أنشئ دالة تسمى describePerson تقبل ثلاثة معاملات
// ($name, $city, $year) وتطبع الرسالة بالتنسيق المطلوب
// استدعِ الدالة بقيم المدخلات
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت