مراجعة: مزيج الدوال
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 9 من 68.
التحدي
سهلقم بإنشاء نظام لمعالجة النصوص يجمع بين مفاهيم الدوال المتعددة التي تعلمتها. ستحتاج إلى تنفيذ عدة دوال واستخدامها معاً لمعالجة بيانات نصية.
أولاً، قم بإنشاء دالة مجهولة (anonymous function) مخزنة في متغير يسمى $reverseText تأخذ سلسلة نصية وتعيدها معكوسة.
بعد ذلك، قم بإنشاء دالة عادية تسمى countVowels تأخذ سلسلة نصية وتعيد عدد حروف العلة (a, e, i, o, u - غير حساسة لحالة الأحرف) الموجودة فيها.
ثم، قم بإنشاء دالة تسمى processText تقبل ثلاثة معاملات: سلسلة نصية، واسم العملية، ودالة استدعاء (callback function). يجب على هذه الدالة:
- إذا كانت العملية هي
"reverse"، قم بتطبيق دالة الاستدعاء لعكس النص وإرجاع النتيجة - إذا كانت العملية هي
"vowels"، قم بتطبيق دالة الاستدعاء لعد حروف العلة وإرجاع العدد - إذا كانت العملية هي
"length"، قم بإرجاع طول النص
ستتلقى مدخلين: اسم العملية ("reverse"، أو "vowels"، أو "length") والنص المراد معالجته. اقرأ كلا المدخلين، وحدد الدالة التي ستستخدمها بناءً على العملية، ثم استدعِ processText بالمعاملات المناسبة، واطبع النتيجة.
تنسيق الإدخال: سطران - السطر الأول يحتوي على اسم العملية، والسطر الثاني يحتوي على النص المراد معالجته
المخرجات المتوقعة: النتيجة بناءً على العملية - النص المعكوس لعملية "reverse"، أو عدد حروف العلة لعملية "vowels"، أو طول النص لعملية "length"
جرّب بنفسك
<?php
// قراءة المدخلات
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: اكتب الكود الخاص بك أدناه
// $reverseText إنشاء الدالة المجهولة
// countVowels إنشاء الدالة
// processText إنشاء الدالة
// بناءً على العملية processText استدعاء الدالة
// طباعة النتيجة
echo $result;
?>جميع دروس Logic & Flow
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين