পিএইচপি Array
পিএইচপি Array এর মাধ্যমে বিভিন্ন ধরনের ভ্যালুকে একটি সিঙ্গেল ভ্যারিয়েবল এর মধ্যে স্টোর বা জমা করা যায়।
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি Array উদাহরণ</title>
</head>
<body>
<?php
$subject = array("এইচটিএমএল","সিএসএস","জাভাস্ক্রিপ্ট","পিএইচপি");
echo "আমি ". $subject[0]. ", " . $subject[1] . ", " . $subject[2] . ", " . $subject[3] . " ইত্যাদি ". "শিখতে চাই।";
?>
</body>
</html>
Array কি?
Array হলো একটি বিশেষ ধরনের ভ্যারিয়েবল যার মধ্যে একই সাথে একাধিক ভ্যালু জমা রাখা যায়।
ধরুন, আপানার কাছে কয়েকটি বইয়ের নামের লিস্ট আছে তাহলে নিশ্চয়ই আপনি বইয়ের নামগুলো সিঙ্গেল ভ্যারিয়েবলের মধ্যে নিম্নের ন্যায় রাখবেনঃ
$subject1 = "এইচটিএমএল";
$subject2 = "সিএসএস";
$subject3 = "জাভাস্ক্রিপ্ট";
$subject4 = "পিএইচপি";
যাইহোক, আপনার কাছে যদি ৪টি বইয়ের নামের পরিবর্তে ৪০০ বইয়ের নাম থাকে তাহলে কি করবেন? কিভাবে নির্দিষ্ট একটি বই এর নাম খুঁজে বের করবেন?
এই সমস্যার সমাধান হচ্ছে array ভ্যারিয়েবল!
Array এমন এক পাত্রের নাম যা একটি সিঙ্গেল নামের মধ্যে অনেক ভ্যালু ধারণ করতে পারে এবং এর ইনডেক্স নাম্বারের মাধ্যমে যেকোনো ভ্যালুকে এক্সেস করা যায়।
পিএইচপিতে array ভ্যারিয়েবল তৈরি
পিএইচপিতে array() ফাংশনের মাধ্যমে array ভ্যারিয়েবল তৈরি করা হয়ঃ
array();
পিএইচপিতে ৩ ধরনের array রয়েছেঃ
- Index array - Array এর ইনডেক্স হয় নাম্বার দিয়ে
- Associative array - Array এর ইনডেক্স হয় নাম(key) দিয়ে
- Multidimensional array - Array এর মধ্যে এক বা একাধিক Array থাকে
পিএইচপি ইনডেক্স Array
Index array তৈরির ২টি পদ্ধতি রয়েছেঃ
স্বয়ংক্রিয়ভাবে(automatically) ইনডেক্স এসাইন করেঃ
$subject = array("এইচটিএমএল", "সিএসএস", "জাভাস্ক্রিপ্ট", "পিএইচপি");
অথবা ম্যানুয়েললি ইনডেক্স এসাইন করেঃ
$subject[0] = "এইচটিএমএল";
$subject[1] = "সিএসএস";
$subject[2] = "জাভাস্ক্রিপ্ট";
$subject[3] = "পিএইচপি";
বিঃদ্রঃ সবসময় 0(শুন্য) দিয়ে Array এর ইনডেক্স শুরু হয়।
নিচের উদাহরণে $subject নামের একটি ইনডেক্স array তৈরি করে এটিতে তিনটি এলিমেন্ট এসাইন করা হয়েছে। তারপর array এর ভ্যালুগুলো ব্যবহার করে একটি টেক্সট প্রিন্ট নেওয়া হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$subject = array("এইচটিএমএল","সিএসএস","জাভাস্ক্রিপ্ট","পিএইচপি");
echo "আমি ". $subject[0]. ", " . $subject[1] . ", " . $subject[2] . ", " . $subject[3] . " ইত্যাদি" . " শিখতে চাই।";
?>
</body>
</html>
count() ফাংশন এর মাধ্যমে array এর দৈর্ঘ্য নির্ণয়
count() ফাংশনের মাধ্যমে একটি Array এর দৈর্ঘ্য(এলিমেন্টের সংখ্যা) রিটার্ণ করা যায়ঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$subject = array("এইচটিএমএল","সিএসএস","জাভাস্ক্রিপ্ট","পিএইচপি");
echo count($subject);
?>
</body>
</html>
ইনডেক্স Array তে লুপের ব্যবহার
একটি ইনডেক্স Array কে লুপিং এবং এর সকল ভ্যালু প্রিন্ট করার জন্য আপনি For লুপ ব্যবহার করতে পারেন। যেমনটি আমরা নিচে করে দেখিয়েছিঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$subject = array("এইচটিএমএল","সিএসএস","জাভাস্ক্রিপ্ট","পিএইচপি");
$arraylength = count($subject);
for($i = 0; $i < $arraylength; $i++) {
echo $subject[$i];
echo "<br>";
}
?>
</body>
</html>
পিএইচপি Associative Array
Associative array এর ক্ষেত্রে key তে ভ্যালু এসাইন করা হয়।
দুটি উপায়ে associative array তৈরি করা যায়ঃ
$age = array("Aziz"=>"32", "Saleh"=>"23", "Zehad"=>"22");
অথবাঃ
$age['Aziz'] = "32";
$age['Saleh'] = "23";
$age['Zehad'] = "22";
নামবিশিষ্ট এই key গুলোর মাধ্যমে array এর ভ্যালু এক্সেস করা যায়ঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Aziz"=>"32", "Saleh"=>"23", "Zehad"=>"22");
echo "সালেহর বয়স " . $age['Saleh'] . " বছর।";
?>
</body>
</html>
Associative Array তে লুপের ব্যবহার
একটি associative array কে লুপিং এবং এর সকল ভ্যালুগুলো প্রিন্ট করার জন্য আপনি Foreach লুপ ব্যবহার করতে পারেন। যেমনটি আমরা নিচে করে দেখিয়েছিঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Aziz"=>"32", "Saleh"=>"23", "Zehad"=>"22");
foreach($age as $name => $years) {
echo "Key=" . $name . ", Value=" . $years . "<br>";
}
?>
</body>
</html>
পিএইচপি Array সর্টিং
Array এর এলিমেন্টগুলোকে নাম্বার বা বর্ণমালা অনুসারে ঊর্ধক্রম(ascending) অথবা অধক্রম(descending) অর্ডারে সাজানো যায়।
Array এর জন্য পিএইচপি সর্টিং ফাংশন
এই অধ্যায়ে আমরা নিম্নোক্ত সর্টিং ফাংশনগুলো নিয়ে আলোচনা করবোঃ
Array এর এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।
Associative array এর ভ্যালু(value) অনুসারে এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।
Associative array এর কী(key) অনুসারে এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।
Array এর এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
Associative array এর ভ্যালু(value) অনুসারে এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
Associative array এর কী(key) অনুসারে এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
sort() ফাংশন
sort() ফাংশন - Array এর এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়
নিচের উদাহরণে $subject Array এর এলিমেন্টগুলোকে এলফাবেট অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$subject = array("HTML", "CSS", "JAVASCRIPT", "PHP");
sort($subject);
$arraylength = count($subject);
for($i = 0; $i < $arraylength; $i++){
echo $subject[$i] . "<br>";
}
?>
</body>
</html>
নিচের উদাহরণে $numbers Array এর এলিমেন্টগুলোকে নাম্বার অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$numbers = array(1, 5, 10, 15, 20);
sort($numbers);
$arraylength = count($numbers);
for($i = 0; $i <$arraylength; $i++) {
echo $numbers[$i] . "<br>";
}
?>
</body>
</html>
asort()
asort() ফাংশন - Associative array কে এর ভ্যালু(value) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর ভ্যালু(value) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Zehad"=>"22", "Saleh"=>"23", "Aziz"=>"32");
asort($age);
foreach($age as $name => $age) {
echo "Key=" . $name . ", Value=" . $age . "<br>";
}
?>
</body>
</html>
ksort()
ksort() ফাংশন- Associative array কে এর কী(key) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর কী(key) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Zehad"=>"22", "Saleh"=>"23", "Aziz"=>"32");
ksort($age);
foreach($age as $name => $age) {
echo "Key=" . $name . ", Value=" . $age . "<br>";
}
?>
</body>
</html>
rsort() ফাংশন
rsort() ফাংশন - Array এর এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে $subject Array এর এলিমেন্টগুলোকে এলফাবেট অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$subject = array("HTML", "CSS", "JAVASCRIPT", "PHP");
rsort($subject);
$arraylength = count($subject);
for($i = 0; $i < $arraylength; $i++){
echo $subject[$i] . "<br>";
}
?>
</body>
</html>
নিচের উদাহরণে $numbers Array এর এলিমেন্টগুলোকে নাম্বার অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$numbers = array(1, 5, 10, 15, 20);
rsort($numbers);
$arraylength = count($numbers);
for($i = 0; $i < $arraylength; $i++) {
echo $numbers[$i] . "<br>;
}
?>
</body>
</html>
arsort()
arsort() ফাংশন- Associative array কে এর ভ্যালু অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর ভ্যালু অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Zehad"=>"23", "Saleh"=>"22", "Aziz"=>"32");
arsort($age);
foreach($age as $name => $age) {
echo "Key=" . $name . ", Value=" . $age . "<br>";
}
?>
</body>
</html>
krsort()
krsort() ফাংশন - Associative array কে এর কী(key) অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর কী(key) অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$age = array("Zehad"=>"23", "Saleh"=>"22", "Aziz"=>"32");
krsort($age);
foreach($age as $name => $age) {
echo "Key=" . $name . ", Value=" . $age . "<br>";
}
?>
</body>
</html>
পিএইচপি মাল্টিডাইমেনশনাল Array
মাল্টিডাইমেনশনাল Array বলতে ঐধরনের Array কে বুঝায় যার মধ্যে দুই বা তার অধিক Array থাকে।
পিএইচপি দুই, তিন, চার, পাঁচ অথবা তারো অধিক ডাইমেনশনের Array বুঝে। কিন্তু বেশির ভাগ মানুষের ক্ষেত্রেই তিন ডাইমেনশনের অধিক Array কে ম্যানেজ করা কষ্টকর হয়ে যায়।
Array এর ডাইমেনশন বলতে কোন একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার যতো সংখ্যক ইনডেক্স নাম্বারের দরকার হয় সেটিকে বুঝায়।
- দুই ডাইমেনশনের Array তে একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার দুটি ইনডেক্স নাম্বার লাগবে।
- তিন ডাইমেনশনের Array তে একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার তিনটি ইনডেক্স নাম্বার লাগবে।
পিএইচপি Two-Dimensional Array
একটি দুই ডাইমেনশন Array হলো Array এর মধ্যে Array। তিন ডাইমেনশন Array হলো Array এর মধ্যে Array তার মধ্যে Array।
প্রথমত, এই টেবিলটি লক্ষ্য করুন:
মোবাইলের নাম | স্টকের পরিমান | বিক্রয়ের পরিমান |
---|---|---|
স্যামসাং | 95 | 53 |
নকিয়া | 169 | 113 |
ব্লাকবেরি | 25 | 10 |
আইফোন | 70 | 45 |
উপরের টেবিলের ডেটাগুলো আমরা নিম্নের ন্যায় একটি দুই ডাইমেনশন Array তে রাখতে পারিঃ
$mobiles = array(
array("স্যামসাং",95,53),
array("নকিয়া",169,113),
array("ব্লাকবেরি",25,10),
array("আইফোন",70,45)
);
এখন দুই ডাইমেনশনযুক্ত $mobiles Array টি চারটি Array ধারন করছে এবং এটির দুটি ইনডেক্স রয়েছেঃ সারি এবং কলাম।
$mobiles Array কে এক্সেস করার জন্য আমাদেরকে অবশ্যই দুটি ইনডেক্স নাম্বার উল্লেখ করতে হবে। যথা-সারি এবং কলাম।
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
$mobiles = array(
array("স্যামসাং",95,53),
array("নকিয়া",169,113),
array("ব্লাকবেরি",25,10),
array("আইফোন",70,45)
);
echo $mobiles[0][0] . "ঃ- স্টকের পরিমানঃ " . $mobiles[0][1] . ", বিক্রয়ের পরিমানঃ " . $mobiles[0][2] . "<br>";
echo $mobiles[1][0] . "ঃ- স্টকের পরিমানঃ " . $mobiles[1][1] . ", বিক্রয়ের পরিমানঃ " . $mobiles[1][2] . "<br>";
echo $mobiles[2][0] . "ঃ- স্টকের পরিমানঃ " . $mobiles[2][1] . ", বিক্রয়ের পরিমানঃ " . $mobiles[2][2] . "<br>";
echo $mobiles[3][0] . "ঃ- স্টকের পরিমানঃ " . $mobiles[3][1] . ", বিক্রয়ের পরিমানঃ " . $mobiles[3][2] . "<br>";
?>
</body>
</html>
পিএইচপি স্ট্রিং
স্ট্রিং হচ্ছে ক্যারেক্টার এর সিকুয়েন্স(Sequence of Character)। যেমন "Hello world!"।
পিএইচপি স্ট্রিং ফাংশন
এই অধ্যায়ে স্ট্রিং ম্যানিপুলেট করার কিছু সাধারণ ফাংশন দেখানো হয়েছে।
স্ট্রিং এর দৈর্ঘ্য(length) নির্ণয়
পিএইচপি strlen() ফাংশনের মাধ্যমে স্ট্রিং এর দৈর্ঘ্য নির্ণয় করা হয়।
নিচের উদাহরণ "Hello world!" এর দৈর্ঘ্য রিটার্ন করেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
echo strlen("Hello PHP!");
?>
</body>
</html>
স্ট্রিং এর মধ্যে শব্দ গণনা
পিএইচপি str_word_count() ফাংশনের মাধ্যমে স্ট্রিং এর শব্দ গণনা করা যায়ঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
echo str_word_count("Hello PHP!");
?>
</body>
</html>
স্ট্রিং রিভার্স করা
পিএইচপি strrev() ফাংশনের মাধ্যমে স্ট্রিংকে রিভার্স করা যায়ঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
echo strrev("Hello Tamjid!");
?>
</body>
</html>
স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা
পিএইচপি strpos() ফাংশনের মাধ্যমে স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা যায়।
যদি মিল খুঁজে পাই, তাহলে ফাংশনটি প্রথম যে ক্যারেক্টারের সাথে মিল পায় তার পজিশনকে রিটার্ন করে। অন্যথায় FALSE রিটার্ন করে।
নিচের উদাহরণে "PHP" কে "Hello PHP!" মধ্য থেকে খুঁজা হলোঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
echo strpos("Hello PHP!", "PHP");
?>
</body>
</html>
বিঃদ্রঃ স্ট্রিং এর প্রথম ক্যারেক্টার পজিশন 0 দিয়ে শুরু হয়।
স্ট্রিং টেক্সট রিপ্লেস করা
পিএইচপি str_replace() ফাংশনের মাধ্যমে স্ট্রিং এর মধ্যে কিছু ক্যারেক্টারকে অন্য ক্যারেক্টারের মাধ্যমে রিপ্লেস করা যায়।
নিচের উদাহরণে "PHP" টেক্সটটিকে "SATT Academy" দিয়ে রিপ্লেস করা হয়েছেঃ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>
<?php
echo str_replace("PHP", "SATT Academy", "Hello PHP!");
?>
</body>
</html>