آرایهها در 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