পিএইচপি-৬ [পিএইচপি এ্যারে এবং স্ট্রিং- Array, Array Sorting, Multi Array, Sting] - SMH Amiri

সর্বশেষ লিখাসমূহ

পিএইচপি-৬ [পিএইচপি এ্যারে এবং স্ট্রিং- Array, Array Sorting, Multi Array, Sting]



পিএইচপি 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>

ফলাফল
4

ইনডেক্স 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>


ফলাফল
সালেহর বয়স 23 বছর।

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>


ফলাফল
Key=Aziz, Value=32
Key=Saleh, Value=23
Key=Zehad, Value=22


পিএইচপি Array সর্টিং


Array এর এলিমেন্টগুলোকে নাম্বার বা বর্ণমালা অনুসারে ঊর্ধক্রম(ascending) অথবা অধক্রম(descending) অর্ডারে সাজানো যায়।


Array এর জন্য পিএইচপি সর্টিং ফাংশন

এই অধ্যায়ে আমরা নিম্নোক্ত সর্টিং ফাংশনগুলো নিয়ে আলোচনা করবোঃ

sort()

Array এর এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।

asort()

Associative array এর ভ্যালু(value) অনুসারে এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।

ksort()

Associative array এর কী(key) অনুসারে এলিমেন্টগুলোকে এসেন্ডিং(ascending) অর্ডারে সাজায়।

rsort()

Array এর এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।

arsort()

Associative array এর ভ্যালু(value) অনুসারে এলিমেন্টগুলোকে ডিসেন্ডিং(descending) অর্ডারে সাজায়।

krsort()

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>

ফলাফল
CSS
HTML
JAVASCRIPT
PHP

নিচের উদাহরণে $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>

ফলাফল
1
5
10
15
20

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>

ফলাফল
Key=Zehad, Value=22
Key=Saleh, Value=23
Key=Aziz, Value=32

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>

ফলাফল
Key=Aziz, Value=32
Key=Saleh, Value=23
Key=Zehad, Value=22

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>

ফলাফল
PHP
JAVASCRIPT
HTML
CSS

নিচের উদাহরণে $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>

ফলাফল
20
15
10
5
1

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>

ফলাফল
Key=Aziz, Value=32
Key=Zehad, Value=23
Key=Saleh, Value=22

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>

ফলাফল
Key=Zehad, Value=23
Key=Saleh, Value=22
Key=Aziz, Value=32


পিএইচপি মাল্টিডাইমেনশনাল Array

মাল্টিডাইমেনশনাল Array বলতে ঐধরনের Array কে বুঝায় যার মধ্যে দুই বা তার অধিক Array থাকে।

পিএইচপি দুই, তিন, চার, পাঁচ অথবা তারো অধিক ডাইমেনশনের Array বুঝে। কিন্তু বেশির ভাগ মানুষের ক্ষেত্রেই তিন ডাইমেনশনের অধিক Array কে ম্যানেজ করা কষ্টকর হয়ে যায়।

Array এর ডাইমেনশন বলতে কোন একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার যতো সংখ্যক ইনডেক্স নাম্বারের দরকার হয় সেটিকে বুঝায়।

  • দুই ডাইমেনশনের Array তে একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার দুটি ইনডেক্স নাম্বার লাগবে।
  • তিন ডাইমেনশনের Array তে একটি এলিমেন্টকে সিলেক্ট করার জন্য আপনার তিনটি ইনডেক্স নাম্বার লাগবে।

পিএইচপি Two-Dimensional Array

একটি দুই ডাইমেনশন Array হলো Array এর মধ্যে Array। তিন ডাইমেনশন Array হলো Array এর মধ্যে Array তার মধ্যে Array।

প্রথমত, এই টেবিলটি লক্ষ্য করুন:

মোবাইলের নামস্টকের পরিমানবিক্রয়ের পরিমান
স্যামসাং9553
নকিয়া169113
ব্লাকবেরি2510
আইফোন7045

উপরের টেবিলের ডেটাগুলো আমরা নিম্নের ন্যায় একটি দুই ডাইমেনশন 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>


ফলাফল
স্যামসাংঃ- স্টকের পরিমানঃ 95, বিক্রয়ের পরিমানঃ 53
নকিয়াঃ- স্টকের পরিমানঃ 169, বিক্রয়ের পরিমানঃ 113
ব্লাকবেরিঃ- স্টকের পরিমানঃ 25, বিক্রয়ের পরিমানঃ 10
আইফোনঃ- স্টকের পরিমানঃ 70, বিক্রয়ের পরিমানঃ 45

এছাড়া $mobiles Array এর এলিমেন্টগুলো আরও সহজে পাওয়ার জন্য আমরা একটি For লুপের মধ্যে অন্য একটি For লুপ ব্যবহার করতে পারি। এখানেও আমাদেরকে দুটি ইনডেক্স উল্লেখ করতে হবে।

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
 <style type="text/css">
   table, th, td{
     border: 2px solid;
     border-collapse: collapse;
     padding: 2px;
   }
   table{
     width: 100%;
   }
 </style>
</head>
<body>

<?php
$mobiles = array(
  array("স্যামসাং",95,53),
  array("নকিয়া",169,113),
  array("ব্লাকবেরি",25,10),
  array("আইফোন",70,45)
);
echo "<table><tr><th>মোবাইলের নাম</th><th>স্টকের পরিমান</th><th>বিক্রয়ের পরিমান</th></tr>";
for ($row=0; $row < 4 ; $row++) {
	echo "<tr>";
 	for ($col=0; $col < 3 ; $col++) {
 		echo "<td>". $mobiles[$row][$col] ."</td>";
 	}
 	echo "</tr>";
 }
 echo "</table>";
?>

</body>
</html>

ফলাফল

 



মোবাইলের নামস্টকের পরিমানবিক্রয়ের পরিমান
স্যামসাং9553
নকিয়া169113
ব্লাকবেরি2510
আইফোন7045













































পিএইচপি স্ট্রিং

স্ট্রিং হচ্ছে ক্যারেক্টার এর সিকুয়েন্স(Sequence of Character)। যেমন "Hello world!"।


পিএইচপি স্ট্রিং ফাংশন

এই অধ্যায়ে স্ট্রিং ম্যানিপুলেট করার কিছু সাধারণ ফাংশন দেখানো হয়েছে।


স্ট্রিং এর দৈর্ঘ্য(length) নির্ণয়

পিএইচপি strlen() ফাংশনের মাধ্যমে স্ট্রিং এর দৈর্ঘ্য নির্ণয় করা হয়।

নিচের উদাহরণ "Hello world!" এর দৈর্ঘ্য রিটার্ন করেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
echo strlen("Hello PHP!");
?>

</body>
</html>

ফলাফল
10

স্ট্রিং এর মধ্যে শব্দ গণনা

পিএইচপি str_word_count() ফাংশনের মাধ্যমে স্ট্রিং এর শব্দ গণনা করা যায়ঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
echo str_word_count("Hello PHP!");
?>

</body>
</html>

ফলাফল
2

স্ট্রিং রিভার্স করা

পিএইচপি strrev() ফাংশনের মাধ্যমে স্ট্রিংকে রিভার্স করা যায়ঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
echo strrev("Hello Tamjid!");
?>

</body>
</html>

ফলাফল
!dijmaT olleH

স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা

পিএইচপি strpos() ফাংশনের মাধ্যমে স্ট্রিং এর মধ্যে কোনো নির্দিষ্ট টেক্সটকে খুঁজে বের করা যায়।

যদি মিল খুঁজে পাই, তাহলে ফাংশনটি প্রথম যে ক্যারেক্টারের সাথে মিল পায় তার পজিশনকে রিটার্ন করে। অন্যথায় FALSE রিটার্ন করে।

নিচের উদাহরণে "PHP" কে "Hello PHP!" মধ্য থেকে খুঁজা হলোঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
echo strpos("Hello PHP!", "PHP");
?>

</body>
</html>

ফলাফল
6

বিঃদ্রঃ স্ট্রিং এর প্রথম ক্যারেক্টার পজিশন 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>

ফলাফল
Hello SATT Academy!