Comment

PHP Advanced Array Operations (অ্যাডভান্সড অ্যারে অপারেশন)

PHP অ্যারে-ম্যাপ (array_map() )

Estimated reading: 2 minutes 15 views Contributors

সারাংশ: আপনি শিখবেন কিভাবে  array_map() ফাংশনটি ব্যবহার করতে হয় যা একটি নতুন অ্যারে তৈরি করে যার element গুলি প্রতিটি elements -এ একটি কলব্যাক প্রয়োগের result।

PHP অ্যারে-ম্যাপ ফাংশন-এর পরিচিতি:-

ধরুন আপনার কাছে একটি অ্যারে আছে যা বর্গের দৈর্ঘ ধারণ করে:

<?php

$lengths = [10, 20, 30];

বর্গের আয়তন গণনা করার জন্য, আপনি এই রকম foreach লুপ নিয়ে আসতে পারেন:

<?php

$lengths = [10, 20, 30];

// calculate areas
$areas = [];

foreach ($lengths as $length) {
	$areas[] = $length * $length;
}

print_r($areas);

আউটপুট:

Array
(
    [0] => 100
    [1] => 400
    [2] => 900
)

$lengths অ্যারের উপাদান এর উপর foreach পুনরাবৃত্তি করে, প্রতিটি বর্গের আয়তন গণনা করে এবং $areas অ্যারেতে ফলাফল যোগ করে।

বিকল্পভাবে, আপনি  array_map() ফাংশন ব্যবহার করতে পারেন যা একই ফলাফল অর্জন করে:

<?php

$lengths = [10, 20, 30];

// calculate areas
$areas = array_map(function ($length) {
	return $length * $length;
}, $lengths);


print_r($areas);

এই উদাহরণে,  array_map() $lengths  অ্যারের প্রতিটি উপাদান-এ একটি anonymous function  প্রয়োগ করে। এটি একটি নতুন অ্যারে প্রদান করে যার উপাদান অ্যানোনিমাস ফাংশন এর ফল।

PHP 7.4 থেকে, আপনি এইরকম একটি অ্যানোনিমাস ফাংশন এর পরিবর্তে একটি  arrow function ব্যবহার করতে পারেন:

<?php

$lengths = [10, 20, 30];

// calculate areas
$areas = array_map(
	fn ($length) => $length * $length,
	$lengths
);

print_r($areas);

PHP অ্যারে-ম্যাপ ফাংশন সিন্ট্যাক্স

নিম্নলিখিত  array_map() ফাংশনের সিনট্যাক্স দেখায়:

array_map ( callable|null $callback , array $array , array ...$arrays ) : array

array_map()  এর নিম্নলিখিত প্যারামিটার রয়েছে:

  • $callback – প্রতিটি অ্যারের প্রতিটি উপাদান-এ প্রয়োগ করার জন্য একটি callable প্রয়োজন ।
  • $array – উপাদান একটি অ্যারে, যেখানে কলব্যাক ফাংশন প্রযোজ্য।
  • $arrays – অ্যারে আর্গুমেন্টের একটি  ভেরিয়েবল তালিকা যেখানে কলব্যাক ফাংশন প্রযোজ্য।

array_map() ফাংশন একটি নতুন অ্যারে প্রদান করে, যার উপাদান কলব্যাক ফাংশনের ফল ।

এই টিউটোরিয়াল array_map() ফাংশনের নিম্নলিখিত ফর্মের উপর ফোকাস করে:

array_map ( callable $callback , array $array ) : array

PHP অ্যারে-ম্যাপ ফাংশন উদাহরণ

array_map() ফাংশন ব্যবহার করার আরও কিছু উদাহরণ নেওয়া যাক।

১) PHP অ্যারে-ম্যাপ ফাংশন অবজেক্টের অ্যারের সাথে ব্যবহার করা

নিম্নলিখিত একটি ক্লাস ডিফাইন করে, যার তিনটি বৈশিষ্ট্য রয়েছে: $id$username, এবং $email এবং User অবজেক্ট-এর তালিকা:

<?php

class User
{
	public $id;

	public $username;

	public $email;

	public function __construct(int $id, string $username, string $email)
	{
		$this->id = $id;
		$this->username = $username;
		$this->email = $email;
	}
}

$users = [
	new User(1, 'joe', 'joe@phptutorial.net'),
	new User(2, 'john', 'john@phptutorial.net'),
	new User(3, 'jane', 'jane@phptutorial.net'),
];

$users অ্যারে থেকে ব্যবহারকারীর নামের একটি তালিকা পেতে array_map() ফাংশন কীভাবে ব্যবহার করতে হয় তা নিম্নলিখিত কোড ব্যাখ্যা করে:

<?php

class User
{
	public $id;

	public $username;

	public $email;

	public function __construct(int $id, string $username, string $email)
	{
		$this->id = $id;
		$this->username = $username;
		$this->email = $email;
	}
}

$users = [
	new User(1, 'joe', 'joe@phptutorial.net'),
	new User(2, 'john', 'john@phptutorial.net'),
	new User(3, 'jane', 'jane@phptutorial.net'),
];

$usernames = array_map(
	fn ($user) => $user->username,
	$users
);

print_r($usernames);

আউটপুট:

Array
(
    [0] => joe
    [1] => john
    [2] => jane
)

২) কলব্যাক হিসাবে একটি স্টাটিক মেথড ব্যবহার করা

 array_map() এর কলব্যাক ফাংশন আর্গুমেন্ট একটি ক্লাসের পাব্লিক মেথড হতে পারে।

উদাহরণ স্বরূপ:

<?php

class Square
{
	public static function area($length)
	{
		return $length * $length;
	}
}

$lengths = [10, 20, 30];

$areas = array_map('Square::area', $lengths);


print_r($areas);

কিভাবে এটা কাজ করে.

  • প্রথমে,  area() পাব্লিক স্টাটিক মেথড আছে এমন  স্কয়ার ক্লাস ডিফাইন করুন।
  • দ্বিতীয়ত, তিনটি বর্গের দৈর্ঘ ধারণ করে এমন একটি অ্যারে তৈরি করুন।
  • তৃতীয়ত, স্টাটিক মেথড  Square::area ব্যবহার করে  $lengths অ্যারের দৈর্ঘ-এর উপর ভিত্তি করে বর্গের আয়তনগণনা করুন।

উল্লেখ্য যে, array_map() ফাংশনে একটি পাব্লিক static method পাস করার জন্য সিনট্যাক্স নিম্নরূপ:

'className::staticMethodName'

এবং পাব্লিক স্টাটিক মেথড অবশ্যই অ্যারে উপাদান কে একটি আর্গুমেন্ট হিসেবে গ্রহন করবে।

সারসংক্ষেপ

  • অন্য অ্যারের প্রতিটি উপাদান-এ কলব্যাক ফাংশন প্রয়োগ করে একটি নতুন অ্যারে তৈরি করতে array_map() পদ্ধতি ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP অ্যারে-ম্যাপ (array_map() )

Or copy link

CONTENTS

Subscribe

×
Cancel