PHP অ্যারে এবং স্ট্রিং কম্পিউটার প্রোগ্রামিংয়ের অন্যতম গুরুত্বপূর্ণ বিষয়, যা ডেটা সংগঠন এবং ম্যানিপুলেশনে ব্যবহৃত হয়। PHP তে অ্যারে এবং স্ট্রিং বিভিন্ন কাজের জন্য অত্যন্ত কার্যকরী। নিচে PHP অ্যারে এবং স্ট্রিং সম্পর্কিত গুরুত্বপূর্ণ ধারণা, উদাহরণ এবং ফাংশনগুলো আলোচনা করা হলো।
1. PHP অ্যারে (Arrays)
PHP-তে অ্যারে হল একটি ডেটা টাইপ যা একাধিক মান বা ভ্যালু একটি ভেরিয়েবলের মধ্যে ধারণ করতে সাহায্য করে। অ্যারে ব্যবহার করে আপনি একাধিক ভ্যালুকে একটি ভেরিয়েবলের মাধ্যমে রেফারেন্স করতে পারেন।
ধরনসমূহ (Types of Arrays)
Indexed Arrays: Indexed Arrays হল অ্যারে যেখানে প্রতিটি উপাদান (element) একটি ইন্ডেক্স দ্বারা চিহ্নিত করা হয়, এবং এই ইন্ডেক্সগুলো স্বাভাবিকভাবে সংখ্যা হয়ে থাকে।
উদাহরণ:
$fruits = array("Apple", "Banana", "Cherry"); echo $fruits[0]; // Output: AppleAssociative Arrays: এই ধরনের অ্যারেগুলিতে ইন্ডেক্স (key) ব্যবহার করে প্রতিটি উপাদানকে চিহ্নিত করা হয়। এখানে আপনি একটি কী (key) দিয়ে মান (value) অ্যাক্সেস করতে পারেন।
উদাহরণ:
$person = array("name" => "John", "age" => 30, "city" => "New York"); echo $person["name"]; // Output: JohnMultidimensional Arrays: এই ধরনের অ্যারেগুলিতে অ্যারে এর মধ্যে আরেকটি অ্যারে থাকে। আপনি এতে একাধিক স্তরে (nested arrays) ডেটা সংরক্ষণ করতে পারেন।
উদাহরণ:
$matrix = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) ); echo $matrix[1][2]; // Output: 6
অ্যারে ফাংশনসমূহ (Array Functions)
array_push() - একটি বা একাধিক উপাদান অ্যারেতে যোগ করতে ব্যবহৃত হয়।
array_push($fruits, "Orange");array_pop() - অ্যারের শেষ উপাদানটি অপসারণ করে।
array_pop($fruits); // Removes "Orange"count() - অ্যারের উপাদানের সংখ্যা ফেরত দেয়।
echo count($fruits); // Output: 3in_array() - চেক করে যে একটি নির্দিষ্ট মান অ্যারেতে উপস্থিত কিনা।
if (in_array("Banana", $fruits)) { echo "Banana is in the array."; }
2. PHP স্ট্রিং (Strings)
স্ট্রিং হল একটি ডেটা টাইপ যা টেক্সট ডেটা ধারণ করে। PHP-তে স্ট্রিং তৈরি করা খুব সহজ এবং বিভিন্ন ফাংশন ব্যবহার করে স্ট্রিং ম্যানিপুলেশন করা সম্ভব।
স্ট্রিং ঘোষণার ধরন (String Declaration Types)
Single Quotes:
- একক কোটস দিয়ে স্ট্রিং তৈরি করা হয়। একক কোটসের মধ্যে ভেরিয়েবল ইনস্ট্যান্সিয়েশন বা বিশেষ চরিত্রের প্রয়োগ হয় না।
উদাহরণ:
$name = 'John'; echo '$name is learning PHP.'; // Output: $name is learning PHP.Double Quotes:
- ডাবল কোটস ব্যবহার করলে ভেরিয়েবলগুলি স্ট্রিংয়ে ইনস্ট্যান্সিয়েটেড হবে এবং বিশেষ চরিত্রও কাজ করবে।
উদাহরণ:
$name = 'John'; echo "$name is learning PHP."; // Output: John is learning PHP.
স্ট্রিং ফাংশনসমূহ (String Functions)
strlen() - স্ট্রিংয়ের দৈর্ঘ্য (length) বের করতে ব্যবহৃত হয়।
$str = "Hello, world!"; echo strlen($str); // Output: 13strtoupper() - স্ট্রিংয়ের সমস্ত অক্ষরকে বড় হাতের (uppercase) অক্ষরে রূপান্তর করে।
$str = "hello"; echo strtoupper($str); // Output: HELLOstrtolower() - স্ট্রিংয়ের সমস্ত অক্ষরকে ছোট হাতের (lowercase) অক্ষরে রূপান্তর করে।
$str = "HELLO"; echo strtolower($str); // Output: hellosubstr() - স্ট্রিংয়ের একটি অংশ বের করার জন্য ব্যবহৃত হয়।
$str = "Hello, world!"; echo substr($str, 7, 5); // Output: worldstrpos() - একটি স্ট্রিংয়ে নির্দিষ্ট চরিত্র বা সাবস্ট্রিংয়ের অবস্থান চেক করতে ব্যবহৃত হয়।
$str = "Hello, world!"; echo strpos($str, "world"); // Output: 7str_replace() - একটি স্ট্রিংয়ের মধ্যে একটি শব্দ পরিবর্তন করার জন্য ব্যবহৃত হয়।
$str = "Hello, world!"; echo str_replace("world", "PHP", $str); // Output: Hello, PHP!trim() - স্ট্রিংয়ের পূর্ব এবং পেছনের ফাঁকা স্থান (whitespace) অপসারণ করে।
$str = " Hello World! "; echo trim($str); // Output: Hello World!explode() - একটি স্ট্রিংকে নির্দিষ্ট ডেলিমিটার দিয়ে অ্যারেতে বিভক্ত করে।
$str = "apple,banana,orange"; $arr = explode(",", $str); print_r($arr); // Output: Array ( [0] => apple [1] => banana [2] => orange )implode() - একটি অ্যারে থেকে স্ট্রিং তৈরি করতে ব্যবহৃত হয়, যেখানে প্রতিটি উপাদানকে নির্দিষ্ট ডেলিমিটার দিয়ে যুক্ত করা হয়।
$arr = array("apple", "banana", "orange"); echo implode(", ", $arr); // Output: apple, banana, orange
3. অ্যারে এবং স্ট্রিংয়ের মধ্যে রূপান্তর (Converting between Arrays and Strings)
Array to String: অ্যারে থেকে স্ট্রিং তৈরি করতে
implode()ফাংশন ব্যবহার করা হয়।$arr = array("apple", "banana", "cherry"); $str = implode(", ", $arr); echo $str; // Output: apple, banana, cherryString to Array: স্ট্রিং থেকে অ্যারে তৈরি করতে
explode()ফাংশন ব্যবহার করা হয়।$str = "apple,banana,cherry"; $arr = explode(",", $str); print_r($arr); // Output: Array ( [0] => apple [1] => banana [2] => cherry )
সারসংক্ষেপ:
- অ্যারে (Array) PHP-তে একাধিক মান বা ভ্যালু ধারন করার জন্য ব্যবহৃত হয়। তিন ধরনের অ্যারে রয়েছে: Indexed Arrays, Associative Arrays, এবং Multidimensional Arrays।
- স্ট্রিং (String) PHP-তে টেক্সট ডেটা ধারণ করে। স্ট্রিং ম্যানিপুলেশন করার জন্য অনেক ফাংশন রয়েছে, যেমন
strlen(),strtoupper(),substr(),str_replace()ইত্যাদি।
এই অ্যারে এবং স্ট্রিং ফাংশনগুলো PHP প্রোগ্রামিংয়ে ডেটা ম্যানিপুলেশন এবং কাজের প্রবাহকে সহজ করে তোলে।
পিএইচপি Array এর মাধ্যমে বিভিন্ন ধরনের ভ্যালুকে একটি সিঙ্গেল ভ্যারিয়েবল এর মধ্যে স্টোর বা জমা করা যায়।
kt_satt_skill_example_id=121
Array কি?
Array হলো একটি বিশেষ ধরনের ভ্যারিয়েবল যার মধ্যে একই সাথে একাধিক ভ্যালু জমা রাখা যায়।
ধরুন, আপানার কাছে কয়েকটি বইয়ের নামের লিস্ট আছে তাহলে নিশ্চয়ই আপনি বইয়ের নামগুলো সিঙ্গেল ভ্যারিয়েবলের মধ্যে নিম্নের ন্যায় রাখবেনঃ
kt_satt_skill_example_id=122
যাইহোক, আপনার কাছে যদি ৪টি বইয়ের নামের পরিবর্তে ৪০০ বইয়ের নাম থাকে তাহলে কি করবেন? কিভাবে নির্দিষ্ট একটি বই এর নাম খুঁজে বের করবেন?
এই সমস্যার সমাধান হচ্ছে array ভ্যারিয়েবল!
Array এমন এক পাত্রের নাম যা একটি সিঙ্গেল নামের মধ্যে অনেক ভ্যালু ধারণ করতে পারে এবং এর ইনডেক্স নাম্বারের মাধ্যমে যেকোনো ভ্যালুকে এক্সেস করা যায়।
পিএইচপিতে array ভ্যারিয়েবল তৈরি
পিএইচপিতে array() ফাংশনের মাধ্যমে array ভ্যারিয়েবল তৈরি করা হয়ঃ
kt_satt_skill_example_id=123
পিএইচপিতে ৩ ধরনের array রয়েছেঃ
- Index array - Array এর ইনডেক্স হয় নাম্বার দিয়ে
- Associative array - Array এর ইনডেক্স হয় নাম(key) দিয়ে
- Multidimensional array - Array এর মধ্যে এক বা একাধিক Array থাকে
পিএইচপি ইনডেক্স Array
Index array তৈরির ২টি পদ্ধতি রয়েছেঃ
স্বয়ংক্রিয়ভাবে(automatically) ইনডেক্স এসাইন করেঃ
kt_satt_skill_example_id=124
অথবা ম্যানুয়েললি ইনডেক্স এসাইন করেঃ
kt_satt_skill_example_id=125
বিঃদ্রঃ সবসময় 0(শুন্য) দিয়ে Array এর ইনডেক্স শুরু হয়।
নিচের উদাহরণে $subject নামের একটি ইনডেক্স array তৈরি করে এটিতে তিনটি এলিমেন্ট এসাইন করা হয়েছে। তারপর array এর ভ্যালুগুলো ব্যবহার করে একটি টেক্সট প্রিন্ট নেওয়া হয়েছেঃ
kt_satt_skill_example_id=126
count() ফাংশন এর মাধ্যমে array এর দৈর্ঘ্য নির্ণয়
count() ফাংশনের মাধ্যমে একটি Array এর দৈর্ঘ্য(এলিমেন্টের সংখ্যা) রিটার্ণ করা যায়ঃ
kt_satt_skill_example_id=127
ইনডেক্স Array তে লুপের ব্যবহার
একটি ইনডেক্স Array কে লুপিং এবং এর সকল ভ্যালু প্রিন্ট করার জন্য আপনি For লুপ ব্যবহার করতে পারেন। যেমনটি আমরা নিচে করে দেখিয়েছিঃ
kt_satt_skill_example_id=128
পিএইচপি Associative Array
Associative array এর ক্ষেত্রে key তে ভ্যালু এসাইন করা হয়।
দুটি উপায়ে associative array তৈরি করা যায়ঃ
kt_satt_skill_example_id=129
অথবাঃ
kt_satt_skill_example_id=130
নামবিশিষ্ট এই key গুলোর মাধ্যমে array এর ভ্যালু এক্সেস করা যায়ঃ
kt_satt_skill_example_id=131
Associative Array তে লুপের ব্যবহার
একটি associative array কে লুপিং এবং এর সকল ভ্যালুগুলো প্রিন্ট করার জন্য আপনি Foreach লুপ ব্যবহার করতে পারেন। যেমনটি আমরা নিচে করে দেখিয়েছিঃ
kt_satt_skill_example_id=132
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) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=138
নিচের উদাহরণে $numbers Array এর এলিমেন্টগুলোকে নাম্বার অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=139
asort()
asort() ফাংশন - Associative array কে এর ভ্যালু(value) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর ভ্যালু(value) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=140
ksort()
ksort() ফাংশন- Associative array কে এর কী(key) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর কী(key) অনুসারে এসেন্ডিং(ascending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=141
rsort() ফাংশন
rsort() ফাংশন - Array এর এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে $subject Array এর এলিমেন্টগুলোকে এলফাবেট অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=143
নিচের উদাহরণে $numbers Array এর এলিমেন্টগুলোকে নাম্বার অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=144
arsort()
arsort() ফাংশন- Associative array কে এর ভ্যালু অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর ভ্যালু অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=146
krsort()
krsort() ফাংশন - Associative array কে এর কী(key) অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজায়।
নিচের উদাহরণে Associative array কে এর কী(key) অনুসারে ডিসেন্ডিং(descending) অর্ডারে সাজানো হয়েছেঃ
kt_satt_skill_example_id=148
এই টিউটোরিয়ালের প্রথমের দিকে আমরা ব্যাখ্যা করেছি যে, Array হলো key/value যুক্ত একটি একক লিস্ট।
যাইহোক, কখনো হয়তবা আপনি একের অধিক key যুক্ত ভ্যালু জমা করতে চাইবেন।
মাল্টিডাইমেনশনাল Array এর মাধ্যমে আপনি এই কাজটি সহজেই করতে পারেবেন।
পিএইচপি - মাল্টিডাইমেনশনাল 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 তে রাখতে পারিঃ
kt_satt_skill_example_id=162
এখন দুই ডাইমেনশনযুক্ত $mobiles Array টি চারটি Array ধারন করছে এবং এটির দুটি ইনডেক্স রয়েছেঃ সারি এবং কলাম।
$mobiles Array কে এক্সেস করার জন্য আমাদেরকে অবশ্যই দুটি ইনডেক্স নাম্বার উল্লেখ করতে হবে। যথা-সারি এবং কলাম।
kt_satt_skill_example_id=163
এছাড়া $mobiles Array এর এলিমেন্টগুলো আরও সহজে পাওয়ার জন্য আমরা একটি For লুপের মধ্যে অন্য একটি For লুপ ব্যবহার করতে পারি। এখানেও আমাদেরকে দুটি ইনডেক্স উল্লেখ করতে হবে।
kt_satt_skill_example_id=164
স্ট্রিং হচ্ছে ক্যারেক্টার এর সিকুয়েন্স(Sequence of Character)। যেমন "Hello world!"।
পিএইচপি স্ট্রিং ফাংশন
এই অধ্যায়ে স্ট্রিং ম্যানিপুলেট করার কিছু সাধারণ ফাংশন দেখানো হয়েছে।
স্ট্রিং এর দৈর্ঘ্য(length) নির্ণয়
পিএইচপি strlen() ফাংশনের মাধ্যমে স্ট্রিং এর দৈর্ঘ্য নির্ণয় করা হয়।
নিচের উদাহরণ "Hello world!" এর দৈর্ঘ্য রিটার্ন করেঃ
kt_satt_skill_example_id=174
স্ট্রিং এর মধ্যে শব্দ গণনা
পিএইচপি str_word_count() ফাংশনের মাধ্যমে স্ট্রিং এর শব্দ গণনা করা যায়ঃ
kt_satt_skill_example_id=175
স্ট্রিং রিভার্স করা
পিএইচপি strrev() ফাংশনের মাধ্যমে স্ট্রিংকে রিভার্স করা যায়ঃ
kt_satt_skill_example_id=176
স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা
পিএইচপি strpos() ফাংশনের মাধ্যমে স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা যায়।
যদি মিল খুঁজে পাই, তাহলে ফাংশনটি প্রথম যে ক্যারেক্টারের সাথে মিল পায় তার পজিশনকে রিটার্ন করে। অন্যথায় FALSE রিটার্ন করে।
নিচের উদাহরণে "PHP" কে "Hello PHP!" মধ্য থেকে খুঁজা হলোঃ
kt_satt_skill_example_id=177
বিঃদ্রঃ স্ট্রিং এর প্রথম ক্যারেক্টার পজিশন 0 দিয়ে শুরু হয়।
স্ট্রিং টেক্সট রিপ্লেস করা
পিএইচপি str_replace() ফাংশনের মাধ্যমে স্ট্রিং এর মধ্যে কিছু ক্যারেক্টারকে অন্য ক্যারেক্টারের মাধ্যমে রিপ্লেস করা যায়।
নিচের উদাহরণে "PHP" টেক্সটটিকে "SATT Academy" দিয়ে রিপ্লেস করা হয়েছেঃ
kt_satt_skill_example_id=178
Read more