الدوال في PHP تُعد من الأدوات القوية التي تساعد في تنظيم الكود وتجعله أكثر مرونة وإعادة استخدام. إحدى الميزات الهامة للدوال هي القدرة على تمرير المعاملات (Parameters) إليها، مما يسمح لك بتخصيص سلوك الدالة بناءً على البيانات المُدخلة. في هذا المقال، سنستعرض كيفية تمرير المعاملات إلى الدوال في PHP مع أمثلة توضيحية.
ما هي المعاملات في الدوال؟
المعاملات هي قيم تُمرر إلى الدالة عند استدعائها. يمكن أن تكون هذه القيم أرقامًا، سلاسل نصية، أو حتى مصفوفات. تُستخدم المعاملات لجعل الدالة أكثر مرونة بحيث يمكنها التعامل مع مختلف البيانات وتنفيذ العمليات عليها.
كيفية تعريف دالة مع معاملات
لتعريف دالة تأخذ معاملات، نضيف أسماء المعاملات بين القوسين بعد اسم الدالة عند تعريفها. بعد ذلك، يمكننا استخدام هذه المعاملات داخل الدالة.
مثال على دالة تأخذ معاملات
لننشئ دالة باسم greet
تأخذ اسم المستخدم كمعامل وتعرض رسالة ترحيب مخصصة:
<?php
function greet($name) {
echo "مرحبًا، " . $name . "! أهلاً بك في موقعنا.";
}
// استدعاء الدالة مع تمرير قيمة لمعامل الاسم
greet("أحمد");
?>
في هذا المثال، قمنا بتعريف دالة باسم greet
تأخذ معاملًا واحدًا هو $name
. عند استدعاء الدالة وتمرير اسم معين، يتم عرض رسالة ترحيب مخصصة لهذا الاسم.
تمرير معاملات متعددة إلى الدالة
يمكنك تعريف دالة تأخذ أكثر من معامل واحد. يتم فصل المعاملات بفواصل (,) داخل القوسين عند تعريف الدالة.
مثال على دالة تأخذ معاملات متعددة
لنفترض أننا نريد إنشاء دالة تجمع بين اسم المستخدم وعمره وتعرض رسالة مخصصة:
<?php
function userInfo($name, $age) {
echo "مرحبًا، " . $name . "! عمرك هو " . $age . " سنة.";
}
// استدعاء الدالة مع تمرير قيمتين
userInfo("ليلى", 22);
?>
في هذا المثال، تأخذ الدالة userInfo
معاملين: $name
و$age
. عند استدعاء الدالة وتمرير اسم وعمر، يتم عرض رسالة تحتوي على هذه المعلومات.
استخدام القيم الافتراضية للمعاملات
يمكنك تحديد قيم افتراضية للمعاملات في الدالة. إذا لم يتم تمرير قيمة للمعامل عند استدعاء الدالة، سيتم استخدام القيمة الافتراضية.
مثال على المعاملات الافتراضية
لنفترض أننا نريد إنشاء دالة تعرض رسالة ترحيب، مع إعطاء قيمة افتراضية للاسم إذا لم يتم تمرير اسم:
<?php
function greet($name = "زائر") {
echo "مرحبًا، " . $name . "! أهلاً بك في موقعنا.";
}
// استدعاء الدالة بدون تمرير قيمة
greet(); // سيعرض "مرحبًا، زائر! أهلاً بك في موقعنا."
// استدعاء الدالة مع تمرير قيمة
greet("أحمد"); // سيعرض "مرحبًا، أحمد! أهلاً بك في موقعنا."
?>
في هذا المثال، إذا لم يتم تمرير قيمة للاسم عند استدعاء الدالة greet
، سيتم استخدام القيمة الافتراضية “زائر”.
الخلاصة
تمرير المعاملات إلى الدوال في PHP يسمح لك بتخصيص سلوك الدالة بناءً على البيانات المُدخلة، مما يجعل الكود أكثر مرونة وقابلية لإعادة الاستخدام. باستخدام المعاملات، يمكنك إنشاء دوال متعددة الاستخدامات تتكيف مع احتياجاتك المختلفة في البرمجة.