Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تحدي: تصفية العناصر الفريدة

جزء من قسم المنطق وتدفق التنفيذ في رحلة PHP على Coddy. الدرس 68 من 68.

challenge icon

التحدي

سهل

ستتلقى مدخلاً واحداً: سلسلة نصية من العناصر المفصولة بفاصلة قد تحتوي على تكرارات.

سيكون المدخل عبارة عن سلسلة نصية بهذا التنسيق: apple,banana,apple,orange,banana,grape,apple

اقرأ سلسلة المدخلات وقم بتقسيمها إلى مصفوفة من العناصر. استخدم array_filter() مع دالة استدعاء (callback function) مخصصة لإزالة العناصر المكررة، مع الاحتفاظ فقط بأول ظهور لكل عنصر فريد.

لتحقيق ذلك، قم بإنشاء دالة استدعاء تتتبع العناصر التي تمت رؤيتها بالفعل. يجب أن تعيد الدالة true للعناصر التي تمت مواجهتها لأول مرة و false للتكرارات. يمكنك استخدام متغير خارج دالة الاستدعاء والتقاطه بالمرجع (by reference) باستخدام use (&$seen) بحيث تستمر التحديثات عبر الاستدعاءات التي تجريها array_filter لدالة الاستدعاء.

بعد التصفية، اطبع كل عنصر فريد في سطر منفصل بالترتيب الذي ظهر به لأول مرة في المدخل الأصلي.

تنسيق المدخلات:

  • سطر واحد يحتوي على عناصر مفصولة بفاصلة (مثال: apple,banana,apple,orange)

المخرجات المتوقعة: طباعة كل عنصر فريد في سطر منفصل، بترتيب ظهوره الأول في المدخلات

جرّب بنفسك

<?php
// قراءة المدخلات
$input = trim(fgets(STDIN));

// تقسيم المدخلات إلى مصفوفة (array)
$items = explode(',', $input);

// TODO: اكتب الكود الخاص بك أدناه
// استخدم array_filter() مع دالة استدعاء (callback function) مخصصة لإزالة التكرارات


// طباعة كل عنصر فريد في سطر منفصل

?>

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم PHP عبر الإنترنت