تحدي: فاحص الكلمات المتناظرة
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 65 من 68.
التحدي
سهلستتلقى مدخلاً واحداً: سلسلة نصية قد تكون أو لا تكون "palindrome" (متناظرة).
الـ palindrome هي كلمة أو عبارة تُقرأ بنفس الطريقة من الأمام ومن الخلف عند تجاهل حالة الأحرف. على سبيل المثال، "racecar" و "level" و "Madam" كلها تعتبر palindromes.
اقرأ سلسلة المدخلات. تحقق مما إذا كانت palindrome من خلال مقارنتها بنسختها المعكوسة. استخدم دوال معالجة النصوص لعكس السلسلة ومقارنتها دون مراعاة حالة الأحرف (case-insensitively).
إذا كانت السلسلة palindrome، اطبع: Palindrome
إذا لم تكن السلسلة palindrome، اطبع: Not a palindrome
تنسيق المدخلات:
- سطر واحد يحتوي على سلسلة نصية (مثال:
racecarأوhello)
المخرجات المتوقعة: إما Palindrome أو Not a palindrome بناءً على ما إذا كانت سلسلة المدخلات تُقرأ بنفس الطريقة من الأمام ومن الخلف (مع تجاهل حالة الأحرف)
جرّب بنفسك
<?php
// قراءة المدخلات
$str = trim(fgets(STDIN));
// TODO: اكتب كودك أدناه للتحقق مما إذا كانت السلسلة عبارة عن باليندروم (نص يقرأ من الجهتين بنفس الطريقة)
// طباعة النتيجة
echo $result;
?>جميع دروس Logic & Flow
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة7التعامل مع التواريخ والأوقات
دالة 'date()'طوابع Unix الزمنية باستخدام 'time()'مقدمة إلى كائن DateTimeتنسيق كائنات DateTimeتعديل كائنات DateTimeمراجعة: حسابات التاريخ10التحديات النهائية
تحدي: فاحص الكلمات المتناظرةتحدي: تكرار الحروفتحدي: إجمالي سلة التسوقتحدي: تصفية العناصر الفريدة2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين