How to learn অ্যারে (Array) | SP Foundationbd

একটা variable একটা single value এর পাত্র(container).কিন্তু Array একাধিক value’র  ontainer বা পাত্র।একটা অ্যারে হল কিছু উপাদান নিয়ে গঠিত যেখানে প্রত্যেকটি উপাদানের নির্দিষ্ট value আছে-key বা index বলে যেটা দিয়ে উপাদানটিকে রেফার করা হয়।ধরুন আপনার কাছে কিছু শহরের নামের list আছে এখন যদি এগুলোকে কোনো single variable এ store করে রাখতে চান তাহলে এমন হবে-

$city1= "Dhaka"

$city2= "Chittagong"

$city3= "Rajshahi"

$city4= "Sylet"

$city5= "Khulna"

$city6= "Barishal"

কিন্তু একটা Array এসবগুলোকে একটা variable এ ধরে রাখতে পারে।অ্যারের

সাধারন গঠন পদ্ধতি হচ্ছে কিছু উপাদানের ক্রম (series of element) যার উপাদানগুলির index ০ থেকে শুরু হয়ে ক্রমানুসারে বাড়তে থাকবে।বেশ কয়েকভাবে অ্যারে লেখা যায় সবচেয়ে সহজটি হচ্ছে-

<?php

$city = array("Dhaka", "Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal"); ?>

ব্যাস একটা variable এ সব শহরের নাম store হয়ে গেছে,প্রতিটি শহরের নাম এক একটি উপাদান এবং প্রতিটি উপাদানে একটি index নির্দিষ্ট হয়ে গিয়েছে। array’র ১ম উপাদান এর index/key হচ্ছে ০ তাহলে এখানে Dhaka[0], Chittagong[1]… এভাবে বাকিগুলো।এখন আপনি যেকোন উপাদান এর index number উল্লেখ করে সে উপাদানটি পেতে পারেন। যেমন

<?php

Print "$city[3]";

?>

তবে যদি আমরা চাই তাহলে অ্যারের এই ডিফল্ট value পরিবর্তন করে দিতে পারি,=> এই অপারেটরটি দিয়ে।ধরি আমি চাচ্ছি এই উপরের অ্যারেটির starting index 2 দিয়ে শুরু হোক তাহলে এভাবে লিখতে হবে।

<?php

$city=array(2=>"Dhaka", "Chittagong", "Rajshahi",

"Sylet", "Khulna", "Barishal", "Barishal");

?>

এই অপারেটর যেকোন উপাদানের পূর্বে ব্যাবহৃত হতে পারে তার index নির্দিষ্ট করার জন্য।

অ্যাসোসিয়েটিভ অ্যারে (Associative array)

এতক্ষনতো পূর্ন সংখ্যার index/key দেখলাম আপনি চাইলে string ও ব্যাবহার করতে পারেন।এটাকেই associative array বলে।যেমন:

<?php

$ages = array("sp"=>32, "foundationbd"=>30, "refat"=>2);

?>

মাল্টিডাইমেনশনাল অ্যারে (Multidimensional array)

এখানে একটা array র ভিতর প্রতিটি উপাদান একটি array হতে পারে আবার এই সাব

অ্যারের প্রতিটি উপাদানও একটি array হতে পারে এবং এভাবে আরও।

<?php

$continents=array("Asia"=>array("Bangladesh",

"India","Pakistan"),"Europe"=>array("England",

"France"),"Africa"=>array("Kenya","Libya","Somalia"));

?>


মাল্টিডাইমেনশনাল অ্যারের আরও তথ্য

foreach() loop সমাচার

foreach loop শুধুমাত্র অ্যারে manipulate করার জন্য তৈরী করা হয়েছে।তাই এই লুপিং system শুধুমাত্র অ্যারের উপরে কাজ করবে।foreach লুপে as শব্দের পরে যে variable  থাকে (আপনার ইচ্ছেমত এই ভেরিয়েবলের নাম দিতে পারেন) সেই variable e  Array er

Element গুলি একটা একটা করে আসবে। অন্যান্য লুপিং এ আমরা ঠিক করে দেই যে looping

কত থেকে শুরু হবে এবং কত পর্যন্ত চলবে। আর এখানে অ্যারের প্রথম element থেকে লুপিং

শুরু হবে এবং Array র শেষ element আসলে তখন looping শেষ হবে।

<?php

$city=array("Dhaka", "Chittagong", "Rajshahi",

"Sylet","Khulna", "Barishal", "Barishal");

foreach ($city as $value)

{

echo "$value.<br>";

}?>

Output

Dhaka

Chittagong

Rajshahi

Sylet

Khulna

Barishal

Barishal

range() function দিয়ে array তৈরী করা যায়।যেমন

<?php

$numeric1 = range(10,15);

//This is similar to

$numeric1 = array(10,11,12,13,14,15);

//array with optional parameter (even array)

$numeric2 = range(10,20,2);

//This is similar to

$numeric2 = array(10,12,14,16,18,20);

//array odd

$numeric3 = range(11,21,2);

//This is similar to

$numeric3 = array(11,13,15,17,19,21);

//letter array

$letter = range("C","K");

//This is similar to 

$letter = array("C","D","E","F","G","H","I","J","K");

?>

এভাবে range() function দিয়ে Array লেখার সুবিধা হচ্ছে বড় Array কে কত ছোট করে লেখা যাচ্ছে কিন্তু কাজ একই।

Array check করা

 

is_array() function দ্বারা একটা variable Array কিনা তা check করা যায়।যেমন

<?php

//letter array

$letter = range("C","K");

if(is_array($letter)){

echo "this is an array and its 3rd value is $letter[2]";

}else{

echo "this is not an array";

}?>

Output

this is an array and its 3rd value is E

অ্যারে উঠিয়ে দিয়ে কোন স্ট্রিং বা অন্যকিছু বসিয়ে দেখুন Output আসবে

this is not an array

print_r() দিয়ে array র সব content দেখা

কোড Debuggin এর সময় এটা কাজে লাগে।ধরুন উপরের letter Array টির সব content দেখতে চান তাহলে

1.print_r($letter);

output

Array ( [0] => C [1] => D [2] => E [3] => F [4] => G [5] => H [6] => K )

                                                                                                                                                            Page-2

phpতে Array একটা গুরত্বপূর্ন অংশ,application তৈরীর সময় সবসময় অ্যারে প্রয়োজন হয়ে পড়বে।শুধুমাত্র Array লিখতে পারা বা এর output করতে পারা এটুকু জানা যথেষ্ট নয়।অ্যারের অনেক function আছে যেসব দিয়ে একটা অ্যারে তে কোন element Array র আগে বা শেষে যোগ করতে পারেন।কোন element বাদ দিতে পারেন ইত্যাদি। নিচে এরুপ দরকারী ফাংশনের আলোচনা করা হল।

array_unshift() function

একটা Array র সামনে একটা element যোগ করতে এই ফাংশন ব্যবহার হয়।যেমন সবার প্রথমে $city variable a যে array টি রেখেছি সেই অ্যারের প্রথমে Rangpur এবং Kurigram এই দুটি element যোগ করব।

<?php

$city = array("Dhaka", "Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal");

array_unshift($city,"Rangpur","Kurigram");

/Now $city will be

$city = array("Rangpur","Kurigram","Dhaka", "Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal");

?>

নতুন element যোগ করাতে ইনডেক্স বা key অটোমেটিক আপডেট হবে।যেমন আগে Dhaka যদি output চাইতেন তাহলে echo $city[0]; এভাবে লিখতে হত আর এখন echo $city[2]; এভাবে লিখতে হবে।আর অ্যাসোসিয়েটিভ index থাকলে তার কোন পরিবর্তন হবেনা।

array_push() ফাংশন

একটা অ্যারের শেষে এলিমেন্ট যোগ করতে চাইলে এই ফাংশন ব্যবহার করতে পারেন।যেমন উপরের কোডে array_unshift এর জায়গায় শুধু array_push যোগ করলেই Rangpur এবং Kurigram element array র শেষে গিয়ে যোগ হবে।

array_shift() function

এই ফাংশন অ্যারের প্রথম এলিমেন্ট কে মুছে দেবে।যদি $city অ্যারের প্রথম এলিমেন্ট সরাতে চাই তাহলে

<?php

$city = array("Dhaka", "Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal");

array_shift($city);

//Now $city will be

$city = array("Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal");

?>

এই ফাংশনটি শুধু প্রথম এলিমেন্ট কে দুর করেনা বরং প্রথম এলিমেন্ট নিয়ে একটা অ্যারে তৈরী করে সেটা return করে যেমন এই কোডে ৫ number লাইন যদি $newCity = array_shift($city); এভাবে লিখে এই ভেরিয়েবল টি echo করেন তাহলে আউটপুট আসবে Dhaka

array_pop() function

এই ফাংশনটি উপরের ফাংশনটির মতই শুধু পাথর্ক্য হচ্ছে সে অ্যারের শেষ elementটি সরাবে এবং return করবে।উপরের কোডের array_shift এর জায়গায় array_pop দিয়ে অনুশীলন করে দেখতে পারেন।

in_array()function

এই ফাংশন দিয়ে একটা অ্যারের ভিতরে কোন এলিমেন্ট কে খুজে বের করা যায়।যদি খুজে পায় তাহলে true return করবে তা নাহলে false return করবে। যেমন

<?php

$newCity = "Chittagong";

$city = array("Dhaka", "Chittagong", "Rajshahi","Sylet", "Khulna", "Barishal");

if(in_array($newCity,$city))

echo "In Bangladesh most of the islamic scholars lives in $newCity";

?>

sort() function

এই function দিয়ে array কে নিম্নমান থেকে উচ্চমান এই ক্রমানুসারে সাজানো যায়।যেমন:

<?php

$num = array(2,6,8,1,6,8);

sort($num);

?>

rsort() দিয়ে এর বিপরীতক্রমে সাজানো যায়। Array র এরুপ আরো অনেক function আছে। php ম্যানুয়ালে সব আছে।যখন যেটা প্রয়োজন হবে দেখে নিতে পারেন।