المصفوفات في 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]
في هذا التمرين، تحتاج إلى تنفيذ بعض الدوال للتعامل مع مصفوفة من لغات البرمجة.
عرّف دالة language_list التي لا تستقبل أي وسائط وتُرجع مصفوفة فارغة.
<?php
language_list();
// => []
عدّل دالة 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"]
عرّف دالة add_to_language_list التي تستقبل وسيطين: مصفوفة لغات، واللغة الجديدة.
<?php
$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]
عرّف دالة prune_language_list لإزالة أول لغة من مصفوفة اللغات.
<?php
$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []
عرّف دالة current_language التي تستقبل وسيطًا واحدًا (مصفوفة لغات). ويجب أن تُرجع أول لغة في المصفوفة. افترض أن المصفوفة ستحتوي دائمًا على عنصر واحد على الأقل.
<?php
$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"
عرّف دالة language_list_length التي تستقبل وسيطًا واحدًا (مصفوفة لغات). ويجب أن تُرجع عدد اللغات في المصفوفة.
<?php
$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
سجّل في Exercism لتتعلّم وتتقن PHP عبر 11 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.