PHP-তে অ্যারে হলো অর্ডারড ম্যাপ।
ম্যাপ হলো এমন একটি ডেটা স্ট্রাকচার, যা একটি মানের সঙ্গে একটি কী (key) যুক্ত করে।
অ্যারে বহুমুখী, এগুলোকে লিনিয়ার অ্যারে (C বা Java-এর মতো), লিস্ট [ভেক্টর], হ্যাশ-টেবিল, ডিকশনারি, কালেকশন, স্ট্যাক বা কিউ হিসেবেও ব্যবহার করা যায়।
কী (key) ঐচ্ছিক, তবে দিলে সেটি অবশ্যই একটি int বা একটি string হতে হবে।
কোনো কী (key) না দিলে, PHP ডিফল্টভাবে 0 থেকে শুরু করে ক্রমবর্ধমান ইন্টিজারকে কী (key) হিসেবে ব্যবহার করে।
$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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।