PHP Array General Functions
PHP Array General Functions Part-2: array_count_values, array_search, array_keys and array_values
PHP তে array_count_values() function কি?
PHP array এর মধ্যে কোন value টি কতবার আছে তা জানার জন্য আপনি array_count_values() function টি ব্যবহার করতে পারেন। এখানে basic syntax দেওয়া হলো :
array_count_values(array $array): array
নিচের উদাহরণটি দেখুন :
<?php $arr = array(1,3,2,1,5,6,1,2,3); print_r(array_count_values($arr));
Result:
Array ( [1] => 3 [3] => 2 [2] => 2 [5] => 1 [6] => 1 )
নিম্নে আরো একটি উদাহরণ দেওয়া হলো :
$array = array("apple", "banana", "apple", "cherry", "banana"); $counted = array_count_values($array); print_r($counted);
Result:
Array ( [apple] => 2 [banana] => 2 [cherry] => 1 )
উপরের উদাহরণে, array_count_values() ফাঙ্কশন টি একটি input array নেয়, যার মধ্যে বিভিন্ন ফলের নাম রয়েছে এবং প্রতিটি ইউনিক ফলের ক্যালকুলেশন সহ একটি associative array প্রদান করে। “apple” এবং “banana” উভয়ই দুইবার রয়েছে, তাই তাদের সংখ্যা 2, আবার “cherry” শুধুমাত্র একবার রয়েছে , তাই এর সংখ্যা 1।
এই ফাংশনটি অ্যারেতে আইটেমগুলির ফ্রিকোয়েন্সি ক্যালকুলেট করা বা ডেটা থেকে পরিসংখ্যান তৈরি করার মতো কাজের জন্য বেশ সুবিধাজনক হতে পারে।
PHP তে array_values() function কি?
PHP-তে array_values() ফাংশনটি একটি associative array থেকে সমস্ত value বের করতে এবং একটি numerically indexed (sequential) array হিসাবে return দিতে ব্যবহৃত হয়। এই ফাংশনটি যেকোনো array (হোক সেটা numerical কিংবা associative) কে কার্যকরীভাবে array টিকে পুনরায় ইন্ডেক্স করে, অর্থাৎ এটি আপনাকে এমন একটি অ্যারে দিবে যেখানে key গুলি numeric এবং এটি 0 থেকে শুরু হয়।
এখানে array_values() এর এর বেসিক সিনট্যাক্স দেওয়া হলো :
array_values(array $array): array
নিম্নে কিভাবে array_values() ফাঙ্কশন ব্যবহার করতে হয় তার একটি উদাহরণ এখানে দেওয়া হল:
$associativeArray = array( "name" => "John", "age" => 30, "city" => "New York" ); $indexedArray = array_values($associativeArray); print_r($indexedArray);
Output
Array ( [0] => John [1] => 30 [2] => New York )
এই উদাহরণে, array_values() function একটি associative array হিসেবে $associativeArray নেয়, তারপর এর value গুলো বের করে এবং $indexedArray-এ একটি numerically indexed অ্যারে হিসাবে রিটার্ন করে। ফলস্বরূপ array তে “John,” 30 এবং “New York,” 0 থেকে শুরু হওয়া sequential numeric key গুলি রয়েছে৷
আপনি array_values() ফাঙ্কশনটি তখনি ব্যবহার করতে পারেন যখন আপনি একটি associative array এর value গুলির সাথে কাজ করতে চান যেন তারা একটি regular indexed array তে থাকে। এটি বিশেষভাবে উপযোগী হতে পারে যখন আপনি original key গুলি বিবেচনা না করেই value গুলিতে operations সম্পাদন করতে চান বা যখন আপনাকে আরও প্রসেসিং এর জন্য ডেটা restructure করতে হবে।
PHP তে array_keys() function কি?
PHP-তে array_keys() ফাংশনটি একটি associative array থেকে সমস্ত key গুলো রিট্রিভ করতে এবং একটি indexed array হিসাবে রিটার্ন দিতে ব্যবহৃত হয়। এই ফাংশনটি আপনাকে একটি associative array এর key গুলি রিটার্ন করতে দেয়, যেগুলি সাধারণত strings বা integers হয় এবং সেগুলিকে একটি নতুন array হিসাবে রিটার্ন দেয় যেখানে key গুলি sequential এবং numerically indexed করা হয়।
এখানে array_keys() ফাঙ্কশনের বেসিক সিনটেক্স দেওয়া হলো :
array_keys(array $array, $search_value = null, $strict = false): array
- $array: input associative array যেখান থেকে আপনি key গুলি বের করতে চান।
- $search_value (optional): যদি এটি দেওয়া হয়, array_keys() শুধুমাত্র একটি নির্দিষ্ট value এর key গুলি একটি array আকারে রিটার্ন দেবে।
- $strict (ঐচ্ছিক): একটি boolean parameter যা true হিসাবে সেট করা হলে, একটি strict comparison সম্পাদন করে (উভয় key এবং value এর data types অবশ্যই মিলবে)। ডিফল্টরূপে, এটি false সেট করা হয়েছে, যার অর্থ একটি loose comparison করা হবে৷
এখানে array_keys() কীভাবে ব্যবহার করবেন তার একটি উদাহরণ রয়েছে:
$person = array( "name" => "John", "age" => 30, "city" => "New York" ); $keys = array_keys($person); print_r($keys);
Output:
Array ( [0] => name [1] => age [2] => city )
এই উদাহরণে, array_keys() ইনপুট হিসেবে associative array হিসেবে $person variable কে নেয়, এর key গুলি বের করে এবং $keys-এ একটি numerically indexed array হিসাবে return দেয়। ফলস্বরূপ array তে “name,” “age,” এবং “city” কীগুলি ০ থেকে শুরু হওয়া sequential numeric key গুলি রয়েছে৷
আপনি বিভিন্ন পরিস্থিতিতে array_keys() ব্যবহার করতে পারেন, যেমন যখন আপনাকে একটি associative array এর key গুলি বের করতে এবং ম্যানিপুলেট করতে হবে, নির্দিষ্ট key বা value গুলি অনুসন্ধান করতে হবে, বা operation গুলি সম্পাদন করতে হবে যার জন্য value গুলি থেকে আলাদাভাবে key গুলির সাথে কাজ করতে হবে৷
এবার চলুন দেখি একটি নির্দিষ্ট value আছে এমন key গুলি খুঁজে বের করতে array_keys() ফাংশনে $search_value প্যারামিটারটি কীভাবে ব্যবহার করবেন তার একটি উদাহরণ এখানে দেওয়া হল:
$fruits = array( "apple" => "red", "banana" => "yellow", "cherry" => "red", "date" => "brown" ); $searchValue = "red"; $keys = array_keys($fruits, $searchValue); print_r($keys);
Output:
Array ( [0] => apple [1] => cherry )
এই উদাহরণে, আমাদের $fruits নামে একটি associative array আছে, যেখানে key গুলি fruit names গুলিকে প্রতিনিধিত্ব করে এবং value গুলি সেই fruit গুলোর colors গুলিকে উপস্থাপন করে। আমরা $searchValue প্যারামিটার দিয়ে array_keys() ব্যবহার করি “red।” ফলস্বরূপ, ফাংশনটি “apple” এবং “cherry” key সমন্বিত একটি indexed array প্রদান করে কারণ সেগুলি হল “red” color fruits.
$searchValue প্যারামিটার ব্যবহার করে আপনি associative array তে শুধুমাত্র নির্দিষ্ট value গুলোর সাথে যুক্ত key গুলি filter এবং retrieve করতে পারবেন।
নির্দিষ্ট value সহ key গুলি খুঁজে বের করার সময় strict comparison করার জন্য array_keys() ফাংশনে $strict প্যারামিটারটি কীভাবে ব্যবহার করবেন তার একটি উদাহরণ এখানে রয়েছে:
<?php $fruits = array( "1" => "apple", 2 => "banana", "3" => "cherry", 4 => "date", 5 => 3 ); $searchValue = "cherry"; $keys = array_keys($fruits, $searchValue, true); print_r($keys);
Output:
Array ( [0] => 3 )
কিন্তু আপনার $searchValue variable টির value যদি string “3” হতো তাহলে strictly comparison করার ধরুন কোনো ফলাফল পাবেন না:
<?php $fruits = array( "1" => "apple", 2 => "banana", "3" => "cherry", 4 => "date", 5 => 3, ); $searchValue = "3"; $keys = array_keys($fruits, $searchValue, true); print_r($keys);
PHP তে array_search() function কি?
PHP-তে array_search() ফাংশনটি অ্যারেতে একটি নির্দিষ্ট value অনুসন্ধান করতে এবং মান পাওয়া গেলে সংশ্লিষ্ট key টি return দিতে ব্যবহৃত হয়। যদি অ্যারেতে value টি পাওয়া না যায় তবে এটি false রিটার্ন করে। এখানে basic syntax দেওয়া হলো:
array_search($needle, $haystack, $strict = false)
- $needle: আপনি অ্যারেতে যে value টি অনুসন্ধান করতে চান।
- $haystack: যে অ্যারেতে আপনি value খুঁজতে চান।
- $strict (optional): একটি বুলিয়ান প্যারামিটার যা true হিসাবে সেট করা হলে, এটি strict comparison করে (value এবং data type উভয়ই মিলতে হবে)। এটি false সেট করা থাকে, যার অর্থ এটি loose comparison করবে৷
এখানে array_search() কীভাবে ব্যবহার করবেন তার একটি উদাহরণ রয়েছে:
$fruits = array("apple", "banana", "cherry", "date"); $key = array_search("banana", $fruits); if ($key !== false) { echo "Found 'banana' at index: $key"; } else { echo "'banana' not found in the array."; }
এই উদাহরণে, array_search() ফাংশন অ্যারেতে “banana” value অনুসন্ধান করবে এবং এটি key/index রিটার্ন করবে যেখানে “banana” পাওয়া যাবে। value পাওয়া না গেলে, এটি false রিটার্ন করে। এই ক্ষেত্রে, “banana” index 1 এ পাওয়া যায়, তাই আউটপুট হবে: “Found ‘banana’ at index: 1”
আপনি array_search() ব্যবহার করতে পারেন যখন আপনাকে একটি অ্যারেতে একটি নির্দিষ্ট element এর অবস্থান খুঁজে বের করতে হবে, এবং এটি বিশেষভাবে উপযোগী যখন আপনি আরও operations সম্পাদন করার আগে একটি অ্যারেতে একটি value বিদ্যমান কিনা তা পরীক্ষা করতে চান।
এখানে array_search() ব্যবহার করার একটি উদাহরণ দেওয়া হল যেখানে $strict প্যারামিটারটি true হিসাবে সেট করা হয়েছে , এতে নিম্নোক্ত কোডটি একটি strict comparison করবে :
$fruits = array("1", 2, "3", 4); $key = array_search(3, $fruits, true); if ($key !== false) { echo "Found 3 at index: $key"; } else { echo "3 not found in the array."; }
এই উদাহরণে, অ্যারেতে integers এবং strings এর মিশ্রণ রয়েছে। যখন আমরা array_search(3, $fruits, true) ব্যবহার করব, তখন এটি একটি strict comparison করবে, যার মানে এটি data type ও বিবেচনা করবে। যেহেতু integer 3 এবং string “3” একটি strict comparison এ সমান হিসাবে বিবেচিত হয় না, তাই ফাংশনটি false রিটার্ন করবে।
এই কোডের আউটপুট হবে: “3 not found in the array.”
সুতরাং, $strict প্যারামিটার true সেট করার সাথে, একটি successful search এর জন্য array_search() ফাঙ্কশনটি array value এবং তার data type উভয়েই match বা একইকিনা তা চেক করবে। এই ক্ষেত্রে, এটি integer 3 খুঁজে পায়নি কারণ অ্যারেতে integer 3 এর পরিবর্তে “3” string রয়েছে।