دوال PHP: أمثلة مدمجة، وسلاسل نصية، وأرقام
⚡ ملخص ذكي
الدوال في لغة PHP عبارة عن كتل برمجية قابلة لإعادة الاستخدام، تؤدي مهمة محددة، وتستقبل معاملات، ويمكنها إرجاع قيمة اختيارية. يشرح هذا الدليل أهمية الدوال، ويستعرض الدوال المدمجة للسلاسل النصية والأرقام والتواريخ، ويوضح كيفية كتابة دوال مُعرَّفة من قِبل المستخدم مع معاملات وقيم مُرجعة.

ما هي الوظيفة في PHP؟
A دالة في لغة PHP هي عبارة عن جزء أو كتلة برمجية قابلة لإعادة الاستخدام تُنفّذ إجراءً مُحددًا. تستقبل هذه الدوال مُدخلات من المستخدم على شكل مُعاملات، وتُنفّذ إجراءات مُعينة، ثم تُخرج النتائج. يُمكن للدوال إما إرجاع قيم عند استدعائها أو ببساطة تنفيذ عملية دون إرجاع أي قيمة.
تحتوي لغة PHP على أكثر من 700 دالة مدمجة تؤدي مهامًا مختلفة.
لماذا استخدام الوظائف؟
- تنظيم أفضل للتعليمات البرمجية – تسمح لنا وظائف PHP بتجميع كتل من التعليمات البرمجية ذات الصلة التي تؤدي مهمة محددة معًا.
- إمكانية إعادة الاستخدام – بمجرد تعريف دالة ما، يمكن استدعاؤها من قبل عدد من البرامج النصية في ملفات PHP الخاصة بنا. هذا يوفر علينا عناء إعادة اختراع العجلة عندما نريد تنفيذ مهام روتينية مثل الاتصال بقاعدة البيانات.
- سهولة الصيانة – لا يلزم إجراء تحديثات النظام إلا في مكان واحد.
وظائف PHP المضمنة
الوظائف المدمجة هي وظائف مُعرّفة مسبقًا في لغة PHP موجودة في حزمة التثبيت.
هذه الوظائف المضمنة في PHP هي التي تجعل PHP لغة برمجة فعالة ومنتجة للغاية.
يمكن تصنيف الوظائف المدمجة في لغة PHP إلى فئات عديدة. فيما يلي قائمة بالفئات الرئيسية.
وظائف السلسلة
هذه دوالٌ تُعالج بيانات السلاسل النصية. راجع المقالة حول سلاسل للاطلاع على أمثلة تطبيقية لوظائف السلاسل النصية.
وظائف رقمية
الوظائف الرقمية في PHP هي الوظائف التي ترجع نتائج رقمية.
يمكن استخدام وظائف PHP الرقمية لتنسيق الأرقام، وإرجاع الثوابت، وإجراء العمليات الحسابية، وغير ذلك الكثير.
يوضح الجدول أدناه الدوال العددية الشائعة في لغة PHP.
| الوظيفة | الوصف | مثال | الناتج |
|---|---|---|---|
| هو رقمي | تقبل هذه الدالة وسيطًا وتعيد القيمة "صحيح" إذا كان الوسيط رقميًا، و"خطأ" إذا لم يكن كذلك. |
<?php if(is_numeric("guru")) { echo "true"; } else { echo "false"; } ?> |
زائف |
<?php if(is_numeric(123)) { echo "true"; } else { echo "false"; } ?> |
صحيح | ||
| number_format | تُستخدم لتنسيق قيمة رقمية باستخدام فواصل الأرقام والنقاط العشرية |
<?php
echo number_format(2509663);
?>
|
2,509,663 |
| صف | تستخدم لتوليد رقم عشوائي. |
<?php
echo rand();
?>
|
رقم عشوائي |
| دائري | يقوم بتقريب العدد الذي يحتوي على فواصل عشرية إلى أقرب عدد صحيح. |
<?php
echo round(3.49);
?>
|
3 |
| الجذر التربيعي | إرجاع الجذر التربيعي لرقم |
<?php
echo sqrt(100);
?>
|
10 |
| كوس | إرجاع جيب التمام |
<?php
echo cos(45);
?>
|
0.52532198881773 |
| بدون | إرجاع الجيب |
<?php
echo sin(45);
?>
|
0.85090352453412 |
| أسمر | إرجاع الظل |
<?php
echo tan(45);
?>
|
1.6197751905439 |
| pi | ثابت يُرجع قيمة PI |
<?php
echo pi();
?>
|
3.1415926535898 |
وظيفة التاريخ
تُستخدم دالة التاريخ لتنسيق يونكس التاريخ والوقت بتنسيق يسهل على الإنسان قراءته.
راجع المقال حول وظائف التاريخ PHP للحصول على مزيد من التفاصيل.
وظائف أخرى تتضمن:
- المصفوفات - راجع مقالة المصفوفات للحصول على أمثلة
- الملفات - راجع المقالة الخاصة بالملفات للحصول على أمثلة
- وظائف قاعدة البيانات – راجع المقال حول MySQL، PHP وطرق الوصول إلى قواعد البيانات الأخرى
لماذا نستخدم الوظائف المحددة من قبل المستخدم؟
تُعدّ الدوال المُعرّفة من قِبل المستخدم مفيدة عندما:
- لديك مهام روتينية في تطبيقك مثل إضافة البيانات إلى ملف قاعدة بيانات
- إجراء فحوصات التحقق من صحة البيانات
- التحقق من هوية المستخدمين في النظام، ومهام مماثلة.
ستتوزع هذه الأنشطة على عدد من الصفحات. ويُعدّ إنشاء دالة يمكن لجميع هذه الصفحات استدعاؤها إحدى الميزات التي تجعل لغة PHP لغة برمجة نصية قوية.
قبل أن نقوم بإنشاء أول دالة معرفة من قبل المستخدم، دعونا نلقي نظرة على القواعد التي يجب علينا اتباعها عند إنشاء الدوال الخاصة بنا.
- يجب أن تبدأ أسماء الدوال بحرف أو شرطة سفلية، ولكن ليس برقم.
- يجب أن يكون اسم الوظيفة فريدًا
- يجب ألا يحتوي اسم الوظيفة على مسافات
- يُعتبر استخدام أسماء الدوال الوصفية ممارسة جيدة.
- يمكن للوظائف قبول المعلمات وإرجاع القيم أيضًا بشكل اختياري.
لنقم الآن بإنشاء أول دالة لنا. سنقوم بإنشاء دالة أساسية للغاية توضح المكونات الرئيسية للدالة في لغة PHP.
<?php // define a function that adds two numbers function add_numbers(){ echo 1 + 2; } add_numbers (); ?>
الإخراج:
3
هنا،
- "function…(){…}" هو كتلة الدالة التي تخبر PHP بأنك تقوم بتعريف دالة مخصصة
- "add_numbers" هو اسم الوظيفة التي سيتم استدعاؤها عند استخدام الوظيفة.
- يمكن استخدام "()" لتمرير المعلمات إلى الوظيفة.
- "echo 1 + 2;" هي كتلة التعليمات البرمجية التي يتم تنفيذها. ويمكن أن تكون أي تعليمات برمجية أخرى غير تلك المستخدمة في المثال أعلاه.
لنلق الآن نظرة على مثال معقد إلى حد ما يقبل معلمة ويعرض رسالة، تمامًا مثل الدالة المذكورة أعلاه.
لنفترض أننا نريد كتابة دالة تطبع اسم المستخدم على الشاشة. يمكننا كتابة دالة مخصصة تقبل اسم المستخدم وتعرضه على الشاشة.
يوضح الكود أدناه التنفيذ.
<?php function display_name($name) { echo "Hello " . $name; } display_name("Martin Luther King"); ?>
الإخراج:
Hello Martin Luther King
هنا،
- يُشير "($name)" إلى مُعامل الدالة المسمى name. وتُعرض القيمة المُمررة إلى الدالة عند استدعائها بعد كلمة Hello.
لنلقِ نظرة الآن على دالة تستقبل مُعاملًا ثم تُعيد قيمة. سنُنشئ دالة تُحوّل الكيلومترات إلى أميال. سيتم تمرير الكيلومترات كمُعامل، وستُعيد الدالة ما يُعادلها بالأميال. يُوضح الكود أدناه كيفية تنفيذها.
<?php function kilometers_to_miles($kilometers = 0) { $miles_scale = 0.62; return $kilometers * $miles_scale; } echo kilometers_to_miles(100); ?>
الإخراج:
62
معلمات دالة PHP وقيم الإرجاع
تُمكّن المعاملات الدالة من العمل على مدخلات مختلفة في كل مرة تُنفّذ فيها، وتُعيد عبارة الإرجاع النتيجة إلى المُستدعي. يوفر PHP عدة طرق للتحكم في سلوك المعاملات.
- قيم افتراضية: كما هو الحال في kilos_to_miles($kilometers = 0)، يتم استخدام قيمة افتراضية عندما يقوم المتصل بحذف هذا الوسيط.
- مرر بالرقم المرجعي: إن إضافة البادئة & إلى أحد المعاملات يسمح للدالة بتغيير المتغير الأصلي للمستدعي بدلاً من نسخة منه.
- القيم المُعادة: تُنهي الدالة return الدالة وتُعيد قيمة؛ بدونها، تُعيد الدالة قيمة فارغة (null).
يستخدم المثال أدناه معلمة مرجعية ومعدلًا افتراضيًا لإضافة ضريبة إلى سعر قائم.
<?php function addTax(&$price, $rate = 0.1) { $price += $price * $rate; } $total = 100; addTax($total); echo $total; ?>
الإخراج:
110
لأن $price يتم تمريرها بالمرجع، فإن الدالة تقوم بتحديث المتغير الأصلي $total مباشرة، لذا فإن القيمة المعروضة هي 110.
