المسارات
/
PHP
PHP
/
التمارين
/
قائمة اللغات
قائمة اللغات

قائمة اللغات

تمرين تعلّمي

مقدمة

المصفوفات

المصفوفات في PHP هي خرائط مرتّبة. والخريطة بنية بيانات تربط مفتاحًا بقيمة. المصفوفات مرنة ويمكن التعامل معها كمصفوفة خطية (كما في C أو Java)، أو قائمة [متجه]، أو جدول تجزئة، أو قاموس، أو مجموعة، أو مكدّس، أو طابور.

المفتاح اختياري، لكنه إذا حُدِّد وجب أن يكون إما int أو string. وعندما لا يُحدَّد مفتاح، تستخدم PHP افتراضيًا مفاتيح من نوع عدد صحيح بترتيب متزايد، بدءًا من 0.

$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];

$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true

يمكن للمصفوفة أن تخزّن قيمًا من جميع الأنواع. ويمكن أن يكون لكل قيمة نوع مختلف.

استخدام المصفوفات

يمكن الإعلان عن المصفوفات كقيمة حرفية (مكتوبة في الكود، كما في المثال أعلاه) أو إنشاؤها والتعامل معها باستخدام دوال. ويمكنك الوصول إلى القيم وإسنادها وإلحاقها باستخدام عامل الفهرس:

$prime_numbers = [2, 3, 5, 6];

$prime_numbers[3] = 7; // replace 6 with 7

$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]

الوسائط متغيرة الطول

يمكن تحديد وسائط الدالة بحيث تقبل أي عدد من الوسائط:

<?php

function actOnItems(...$items) {
  // $items is an array containing 0 or more values
  // used to call the function.
}

actOnItems(1, 2, 3, 4); // $items => [1, 2, 3, 4]

التعليمات

في هذا التمرين، تحتاج إلى تنفيذ بعض الدوال للتعامل مع مصفوفة من لغات البرمجة.

1. تعريف دالة تُرجع مصفوفة لغات فارغة

عرّف دالة language_list التي لا تستقبل أي وسائط وتُرجع مصفوفة فارغة.

<?php

language_list();
// => []

2. تعديل الدالة لإنشاء مصفوفة من أي عدد من اللغات

عدّل دالة language_list بحيث تستقبل وسائط متغيرة من اللغات (سلاسل نصية). ويجب أن تُرجع المصفوفة الناتجة التي تحتوي على اللغات.

<?php

$language_list = language_list();
// => []
$language_list = language_list("Clojure", "PHP");
// => ["Clojure", "PHP"]
$language_list = language_list("PHP", "Haskell", "Java", "C++", "Rust")
// => ["PHP", "Haskell", "Java", "C++", "Rust"]

3. تعريف دالة لإضافة لغة إلى المصفوفة

عرّف دالة add_to_language_list التي تستقبل وسيطين: مصفوفة لغات، واللغة الجديدة.

<?php

$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]

4. تعريف دالة لإزالة عنصر من مصفوفة اللغات

عرّف دالة prune_language_list لإزالة أول لغة من مصفوفة اللغات.

<?php

$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []

5. تعريف دالة للحصول على أول عنصر في المصفوفة

عرّف دالة current_language التي تستقبل وسيطًا واحدًا (مصفوفة لغات). ويجب أن تُرجع أول لغة في المصفوفة. افترض أن المصفوفة ستحتوي دائمًا على عنصر واحد على الأقل.

<?php

$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"

6. تعريف دالة تُرجع عدد اللغات في المصفوفة

عرّف دالة language_list_length التي تستقبل وسيطًا واحدًا (مصفوفة لغات). ويجب أن تُرجع عدد اللغات في المصفوفة.

<?php

$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
PHP Exercism

مستعد لبدء قائمة اللغات؟

سجّل في Exercism لتتعلّم وتتقن PHP عبر 11 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.